Todos los tipos de datos ESQL (excepto REFERENCE) admiten el concepto de valor nulo. Un valor nulo significa que es un valor desconocido, indefinido o no inicializado. Se pueden producir valores nulos al hacer referencia a campos del mensaje que no existen, al acceder a columnas de base de datos para las que no que se ha facilitado ningún dato y al utilizar la palabra clave NULL, que suministra un valor literal nulo.
El valor nulo es un estado diferenciado que no es igual que ningún otro valor. En particular, para los enteros no es lo mismo que el valor 0 y para las variables de tipo carácter no es lo mismo que una serie de cero caracteres. Los normas aritméticas de ESQL tienen en cuenta los valores nulos y, normalmente, no se tiene constancia de su existencia. Generalmente, pero no siempre, estas normas significan que, si un operando es nulo, el resultado es nulo.
Si una expresión devuelve un valor nulo, normalmente no se conoce su tipo de datos. Sea cual sea su origen, todos los valores nulos se tratan de igual forma.
De este modo puede considerarse que pertenecen al tipo de datos NULL , que es un tipo de datos que únicamente puede tener un valor, nulo.
Una expresión devuelve siempre NULL si alguno de sus elementos es NULL.
Para probar si un campo contiene un valor nulo, utilice el operador IS descrito en Operator=.
SET OutputRoot.XML.Msg.Data.Name = NULL; -- esto suprime el campo
SET OutputRoot.XML.Msg.Data.Name VALUE = NULL; -- esto asigna un valor NULL a un campo sin suprimirlo