2010-06-17 14 views

Respuesta

11

Sí, hay una gran diferencia entre un valor NULL y un espacio en blanco/vacía valor.

Aquí está one resource que describe las diferencias.

Cuando myText IS NULL:

  • myText IS NOT NULL evalúa a FALSE
  • myText != '' evalúa a NULL (que esencialmente se comporta igual que FALSE haría en este caso específico que escribió)

Sin embargo, debe no adquieras el hábito de tratarlos de la misma manera, ya que la mayoría de las veces se comportarán de manera diferente: Por ejemplo:

Suponga que tiene una tabla tbl:

id text 
1 NULL 
2  
3 abc 

Nota: 1 contiene un valor NULL y 2 contiene una cadena vacía ('').

Si ejecuta la siguiente consulta:

SELECT * FROM tbl WHERE text != '' 

... volverá registro 3.

Si ejecuta la siguiente consulta:

SELECT * FROM tbl WHERE text IS NOT NULL 

... lo hará Registros de devolución 2 y 3.

2

Sí, hay una diferencia.

En palabras sencillas, myText NO ES NULO especifica que myText está teniendo algún valor que podría ser '' demasiado.

Donde como myText! = '' especifica que devuelve TRUE, si myText NO contiene una cadena vacía.

1

Hay una diferencia. Si el valor predeterminado de una columna es "NULO", entonces si no se han establecido datos para un campo, es realmente nulo. Sin embargo, si el valor de un campo se ha actualizado como '', no es NULO, sino que está vacío.

Consulte aquí para más información Link

Cuestiones relacionadas