Valores nulos en columnas de tabla

Algunas columnas no pueden tener un valor significativo en cada fila. Db2 utiliza un indicador de valor especial, el valor nulo, para representar un valor desconocido o que falta. Un valor nulo es un valor especial que Db2 interpreta como que no hay datos presentes.

Si no se especifica lo contrario, Db2 permite que cualquier columna contenga valores nulos. Los usuarios pueden crear filas en la tabla sin proporcionar un valor para la columna.

Mediante la utilización de la cláusula NOT NULL puede no permitir valores nulos en la columna. Las claves primarias deben definirse como NOT NULL.

Ejemplo

Iniciar información de la interfaz de programación de uso general.
Por ejemplo, la definición de tabla para la tabla DEPT especifica cuándo puede utilizar un valor nulo. Tenga en cuenta que sólo puede utilizar nulos para la columna MGRNO:
CREATE TABLE DEPT
      (DEPTNO    CHAR(3)           NOT NULL,
       DEPTNAME  VARCHAR(36)       NOT NULL,
       MGRNO     CHAR(6)                   ,
       ADMRDEPT  CHAR(3)           NOT NULL,
       PRIMARY KEY (DEPTNO)                )
  IN MYDB.MYTS;
Finalizar la información de la interfaz de programación de uso general.

Antes de decidir si debe permitir nulos para valores desconocidos en una columna determinada, debe tener en cuenta cómo afectan los nulos a los resultados de una consulta:

Nulos en programas de aplicaciones
En una sentencia de SQL, los nulos tan solo cumplen la condición del predicado especial IS NULL. Db2 ordena los valores nulos de forma diferente a los valores no nulos. Los valores nulos no se comportan como los otros valores. Por ejemplo, si pregunta a Db2 si un valor nulo es mayor que un valor conocido determinado, la respuesta es UNKNOWN. Si a continuación le pregunta a Db2 si un valor nulo es menor que el mismo valor conocido, la respuesta sigue siendo UNKNOWN.

Si la obtención de un valor UNKNOWN es inaceptable para una columna determinada, en su lugar puede definir un valor por omisión. Los programadores están familiarizados con el comportamiento de los valores por omisión.

Nulos en operaciones de unión
Los nulos necesitan un manejo especial en operaciones de unión. Si realiza una operación de unión en una columna que puede contener valores nulos, considere utilizar una unión externa.