Comprobación de no nulo

Los test de nulidad son muy sencillos de usar y escribir, aunque a veces se ven soluciones "imaginativas", que esconden fallos conceptuales graves, como en este caso.

Uno de los ejercicios de clase pedía seleccionar a los empleados con jefe. Es decir, a los empleados cuyo jefe no fuese nulo. Alguna solución propuesta incluía el siguiente test:

MAL
where jefe like '%'

Independientemente de que el resultado puede ser correcto (se comprueba que el campo jefe tenga cualquier texto), esa expresión supone un grave fallo conceptual. Además, no sirve cuando el tipo de dato no es textual (numérico o fecha). Además-además, su negado no funciona. Y además-además-además, también mostraría jefes cuyo valor sea la cadena vacía.

El test a emplear para comprobar si un valor es nulo es is null (y para comprobar que no es nulo, is not null). Por tanto, para comprobar si el jefe no es nulo hay que usar:

BIEN
where jefe is not null

No hay comentarios:

Publicar un comentario