Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Problemas con un SELECT ... CASE (https://www.clubdelphi.com/foros/showthread.php?t=91909)

Angel.Matilla 01-06-2017 11:05:54

Problemas con un SELECT ... CASE
 
Estoy ejecutando este query en un BB.DD. FB 2.5:
Código SQL [-]
SELECT Fecha, Texto, Importe, Situacion, Iban||Cuenta CtaCargo, Devuelto, Motivo,
  CASE 
    WHEN TRIM(Motivo) = '' THEN 0 ELSE 1
  END AS CodSit
  FROM Recibos
 WHERE CodPrv = (SELECT Literal FROM Instalacion WHERE Etiqueta = 'Provincia') 
   AND Codigo = :Codigo AND RefInt = :RefInt
Una vez intorducidos los parámetros me devuelve esto:
Cita:

Fecha: 30/01/2017
Texto: CUOTA DEL PRIMER TRIMESTRE DE 2017
Importe: 5
Situacion: 2
CtaCargo: ES31****31108220211*****
Devuelto: Null
Motivo: Null
CodSit: 1
Este último valor es el que me tiene mosqueado. Según el CASE del query debería devolver un cero (y he probado poniendo WHEN TRIM(Motivo) = '', WHEN TRIM(Motivo) = NULL y WHEN Motivo = ''), pero ponga lo que ponga devuleve un uno. ¿Qué estoy haciendo mal?

fjcg02 01-06-2017 11:20:31

Hola,
mira con

WHEN ( TRIM(Motivo) = '' OR MOTIVO is null ) THEN 0 ELSE 1

y nos cuentas

Saludos

Angel.Matilla 01-06-2017 12:33:20

Cita:

Empezado por fjcg02 (Mensaje 517508)
WHEN ( TRIM(Motivo) = '' OR MOTIVO is null ) THEN 0 ELSE 1

Perfecto. No se me había ocurrido. Gracias


La franja horaria es GMT +2. Ahora son las 04:23:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi