Select con Case y nulos
Publicado por Lluri (9 intervenciones) el 02/05/2001 17:17:46
Tengo un Select con la función Case. En uno de los casos se evalua si el valor de un campo es Nulo. Me encuentro con el problema de que además de entrar por ese caso también entra por otro de los casos; todo y poner en el resto de casos IS NOT NULL.
Ejemplo:
CASE WHEN LIBROS.LibTit IS NULL THEN SPACE(10)
WHEN LIBROS.LibTit IS NOT NULL AND 10 - LEN(LTRIM(CONVERT(VARCHAR(10),
LIBROS.LibTit)))
> 0 THEN RTRIM(LTRIM(CONVERT(VARCHAR(10),
LIBROS.LibTit)))
+ SPACE(10 - LEN(LTRIM(CONVERT(VARCHAR(10),
LIBROS.LibTit)))) ELSE LEFT(CONVERT(VARCHAR(10),
LIBROS.LibTit), 10) END FROM LIBROS
En este caso entra tanto en el primer Case como en el segundo. ¿Como es posible?
Gracias.
Ejemplo:
CASE WHEN LIBROS.LibTit IS NULL THEN SPACE(10)
WHEN LIBROS.LibTit IS NOT NULL AND 10 - LEN(LTRIM(CONVERT(VARCHAR(10),
LIBROS.LibTit)))
> 0 THEN RTRIM(LTRIM(CONVERT(VARCHAR(10),
LIBROS.LibTit)))
+ SPACE(10 - LEN(LTRIM(CONVERT(VARCHAR(10),
LIBROS.LibTit)))) ELSE LEFT(CONVERT(VARCHAR(10),
LIBROS.LibTit), 10) END FROM LIBROS
En este caso entra tanto en el primer Case como en el segundo. ¿Como es posible?
Gracias.
Valora esta pregunta


0