GARANTIR DESCONTO

Fórum CASE com IB6 #41307

05/01/2004

0

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.


Martinham

Martinham

Responder

Posts

06/01/2004

Travain

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.


Responder

Gostei + 0

06/01/2004

Martinham

Tem outra forma de fazer este SELECT, alterando o dado deste campo ??

Mas valeu ...
Obrigada.

Martinham


Responder

Gostei + 0

06/01/2004

Aroldo Zanela

Colega,

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



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar