CASE com IB6
Olá pessoal !
Estou com D5 + IB6 e está dando um erro q nao estou conseguindo descobrir:
SELECT PesCod, PesObs=CASE
WHEN PesObs = NULL THEN ´X´
ELSE PesObs = ´Y´
END
FROM Pessoas
O SQL retorna dizendo que o = está com problemas ...
Ele nao aceita esta sintaxe ?? Senao, como posso resolver este problema ??
Obrigada e no aguardo.
Martinham.
Estou com D5 + IB6 e está dando um erro q nao estou conseguindo descobrir:
SELECT PesCod, PesObs=CASE
WHEN PesObs = NULL THEN ´X´
ELSE PesObs = ´Y´
END
FROM Pessoas
O SQL retorna dizendo que o = está com problemas ...
Ele nao aceita esta sintaxe ?? Senao, como posso resolver este problema ??
Obrigada e no aguardo.
Martinham.
Martinham
Curtidas 0
Respostas
Travain
05/01/2004
Cara, o comando CASE só funciona com o Firebird 1.5 e a sintaxe também está errada. Não existe o igual ´=´ antes do CASE.
Até mais.
Até mais.
GOSTEI 0
Martinham
05/01/2004
Tem outra forma de fazer este SELECT, alterando o dado deste campo ??
Mas valeu ...
Obrigada.
Martinham
Mas valeu ...
Obrigada.
Martinham
GOSTEI 0
Aroldo Zanela
05/01/2004
Colega,
A sintaxe correta para Case seria:
Você pode obter o resultado utilizando o UNION ALL, por exemplo:
A sintaxe correta para Case seria:
SELECT PesCod, PesObs=CASE WHEN PesObs IS NULL THEN ´X´ ELSE ´Y´ END FROM Pessoas
Você pode obter o resultado utilizando o UNION ALL, por exemplo:
SELECT PesCod, "X" as PesObs FROM pessoas WHERE PesObs IS NULL UNION ALL SELECT PesCod, "Y" as PesObs FROM pessoas WHERE PesObs IS NOT NULL
GOSTEI 0