Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/11/2007, 22:40
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Re: Ahora problema con NULL's

Hola,

Buena pregunta, esta es una referencia de la documentacion de Oracle, donde explica el tratamiento para las cadenas string vacias.

PL/SQL trata a cualquier cadena de longitud cero como nulo. Esto incluye los valores devueltos por las funciones de caracteres y expresiones BOOLEAN. Por ejemplo, las siguientes declaraciones asignan nulls a la variables:

DECLARE
null_string VARCHAR2(80) := TO_CHAR('');
address VARCHAR2(80);
zip_code VARCHAR2(80) := SUBSTR(address, 25, 0);
name VARCHAR2(80);
valid BOOLEAN := (name != '');

Por lo tanto queda confirmado que '' es igual a NULL.

O sea que:

1. Si, es cierto.
2. No, no hay ninguna propiedad para modificar este comportamiento, al menos no hay una que este documentada.
3. Aqui es donde debes preguntarte cual seria el sentido de establecer una columna como NOT NULL e insertar una cadena vacia. Si bien es cierto que en MS SQL Server, por dar un ejemplo, NULL es distinto de '', en mi opinion esto carece de logica, aunque tambien soy conciente de que es una discusion filosofica que lleva años dando vueltas entre los distintos motores de base de datos.

Saludos