start - mysql workbench log
Valor NULL de mysql en donde en CLAUSA (3)
La siguiente declaración debería ayudar:
SELECT * FROM mytable WHERE COALESCE(field,0) IN (1,2,3,0)
cómo lidiar con el valor NULL en mysql donde en CLAUSA
intento como
SELECT * FROM mytable WHERE field IN(1,2,3,NULL)
No esta funcionando
solo funciona como:
SELECT * FROM mytable WHERE field IN(1,2,3) OR field IS NULL
¿Cómo puedo hacer que funcione en WHERE IN
? es posible ?
Según tengo entendido, quiere extraer cada registro con 1,2,3 y valor nulo.
No creo que sea posible poner nulo en el operador IN. Espera valores y null está bien ... no es un valor. Entonces, realmente debes poner el OR con el nulo para obtener el resultado deseado.
Tal vez esta información del Manual de referencia de MySQL ayude:
Para cumplir con el estándar SQL, IN devuelve NULL no solo si la expresión en el lado izquierdo es NULL, sino también si no se encuentra ninguna coincidencia en la lista y una de las expresiones en la lista es NULL .