[firebase-br] Condição IIF no WHERE

Walter R. Ojeda Valiente sistemas2000profesional em gmail.com
Qui Dez 4 19:26:49 -03 2014


Hola Marcelo

El problema es que el Firebird espera que en un WHERE haya una comprobación
que devuelva verdadero.

La estructura de lo que tú escribiste es:

WHERE verdadero

Y lo que el Firebird espera es que tu estructura sea:

WHERE algo es verdadero

O sea, tu IIF() te puede devolver verdadero o falso, pero no estás
comparándolo con algo. La estructura tendría que ser:

WHERE Algo = IIF(MiCondición, valor1, valor2)

Saludos.

Walter.




2014-12-04 9:58 GMT-04:00 Marcelo Costa <marcelo em fusiontech.com.br>:

> Gostaria de saber se haveria uma forma do firebird aceitar uma condição no
> WHERE ou no AND. No ACCESS ou no SQL Server, aceita normal. Neste exemplo
> simples abaixo, o Firebird apresenta erro.
>
> SELECT * FROM EMPRESAS
> WHERE IIF(CAST(:TIPO AS INTEGER) = 1, EMPRESAID < 50, EMPRESAID > 50)
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista