Tengo una columna llamada CODE en una tabla MySQL que puede ser NULL. Digamos que tengo algunas filas con CODE = 'C' que quiero ignorar en mi conjunto de resultados de selección. Puedo tener CODE = NULL o CODE! = 'C' en mi conjunto de resultados.Comparación MySQL con valor nulo
La siguiente consulta no devuelve una fila con código como NULL:
SELECT * from TABLE where CODE!='C'
Pero funciona esta consulta como se esperaba y sé que es la forma correcta de hacerlo.
SELECT * from TABLE where CODE IS NULL OR CODE!='C'
Mi pregunta es por qué tener solo CÓDIGO! = 'C' no devuelve filas donde CODE = NULL? Definitivamente 'C' no es NULO. No estamos comparando ningún valor con un personaje aquí. ¿Alguien puede arrojar algo de luz porque no funciona de esa manera?
posible duplicado de [misterio de MySQL: el valor nulo no es diferente de la cadena no nula] (http://stackoverflow.com/questions/3404766/mysql-mystery-null-value-is-not-different-from- non-null-string) –