Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/07/2010, 08:57
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Null = Nulo??

Cita:
No es lo mismo nulo que null?
Si tu pregunta es si NULL es igual a el caracter nulo o vacío, la respuesta es NO.

El caracter nulo es un caracter real, que representa un espacio sin datos. NULL es un estado, no un caracter, y se lo define como un puntero a la nada, o bien un no-dato.

El estado de NULL es algo difícil de comprender a veces para la gente habituada a programar, pero es lo más parecido al Nothing de visua Basic.Net, aunque no se trata del mismo objeto.

Como se trata más bien de un estado o de un resultado y no de un dato no es posible usarlo en operaciones lógicas o matemáticas de ningún tipo. Esto significa que ninguno de los operadores ni funciones para datos puede operar con él. En estos casos existen operadores, funciones y cláusulas específicas:

IS NULL, IS NOT NULL, IFNULL(), etc.

Esas son las que hay que usar.

Pero cuando se transfiere datos vía conectores, el problema es recordar que los conectores no se llevan bien con el NULL, por lo que hay que revisar el manual para saber cómo hacerlo.

En el caso de sentencias de inserción, el NULL debe ir escrito tal cual es y no ponerlo entre comillas ni apóstrofes.

Eso es válido:

Código MySQL:
Ver original
  1. INSERT INTO TABLA(A, B) VALUES (1, NULL);
Esto no:
Código MySQL:
Ver original
  1. INSERT INTO TABLA(A, B) VALUES (1, 'NULL');
porque 'null' es una cadena de textoi...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)