¿Hay forma de probar tanto 0 como NULL con un operador de igualdad?sql booleano truth test: cero O nulo
que se dan cuenta de que podía hacer esto:
WHERE field = 0 OR field IS NULL
Pero mi vida sería cien veces más fácil si esto funcionaría:
WHERE field IN (0, NULL)
(por cierto, ¿por qué no lo hace ese trabajo?)
También he leído acerca de la conversión de NULL a 0 en la declaración SELECT (con COALESCE). El marco que estoy usando también lo haría desagradable.
Darse cuenta de esto es extrañamente específico, pero ¿hay alguna forma de probar 0 y NULL con un predicado WHERE?
Respondiendo al "¿por qué no que el trabajo" parte: 'donde el campo EN (0, NULL)' 'es donde el campo = 0 o campo = null' el último caso es' unknown' –
Si expanda su cláusula IN, debería ser más claro por qué no funciona: 'field IN (0, NULL)' es equivalente a 'field = 0 OR field = NULL' y no puede usar el operador" = "para probar para NULL, el resultado es desconocido. –
tenga en cuenta que si quiere el inverso de eso, el campo <> 0 funciona. Pero no se puede negar, ya que cualquier operación en un resultado nulo sigue siendo nula. –