Semántica del valor NULL

A continuación se describe la semántica de los valores NULL.

  • Las operaciones de comparación o aritméticas con un valor (NULL) desconocido dan como resultado un valor desconocido.
  • En una aplicación J2EE (Java 2 Platform, Enterprise Edition) versión 1.3, una expresión de vía de acceso utiliza una semántica de unión externa donde un campo NULL o un valor cmr se evalúa como NULL. En J2EE versión 1.4, la expresión de vía de acceso utiliza una semántica de unión interna.
  • Los operadores IS NULL e IS NOT NULL se pueden aplicar a las expresiones path y devuelven TRUE o FALSE. Los operadores booleanos AND, OR y NOT utilizan la lógica de tres valores.
Tabla 1. Semántica del valor NULL. En la tabla siguiente se describe la semántica de los valores NULL.
AND True False Desconocido
True True False Desconocido
False False False False
Desconocido Desconocido False Desconocido
Tabla 2. Semántica del valor NULL. En la tabla siguiente se describe la semántica de los valores NULL.
OR True False Desconocido
True True True True
False True False Desconocido
Desconocido True Desconocido Desconocido
Tabla 3. Semántica del valor NULL. En la tabla siguiente se describe la semántica de los valores NULL.
  NOT
True False
False True
Desconocido Desconocido

Ejemplo: semántica del valor NULL

select object(e) from EmpBean where e.salary > 10  and e.dept.budget > 100

Si el sueldo es NULL, la evaluación de e.salary > 10 se evaluará como desconocido y el objeto employee no se devolverá. Si el campo cmr, dept o budget, es NULL, e.dept.budget > 100 se evaluará como desconocido y el objeto employee no se devolverá.

select object(e) from EmpBean where e.dept.budget is null

En J2EE 1.3, si dept o budget son NULL, e.dept.budget es null y devolverá TRUE y el objeto employee se devolverá. En J2EE 1.4, el objeto employee sólo se devolverá si budget es NULL.

select object(e) from EmpBean e ,  in (e.dept.emps) e1 where e1.salary > 10

Si dept es NULL, la expresión path de varios valores e.dept.emps da como resultado una agrupación vacía (no una agrupación que contiene un valor NULL). Un empleado con un valor dept nulo no se devolverá.

select object(e) from EmpBean e where  e.dept.emps is empty

Si dept es NULL, se evaluará el predicado como desconocido y el objeto employee no se devolverá.

select object(e) from EmpBean e , EmpBean e1  where e member of  e1.dept.emps

Si dept es NULL, el predicado member of se evaluará como desconocido y el objeto employee no se devolverá.


Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cque_nvsemant
File name: cque_nvsemant.html