Propagación de valores NULL en expresiones

NULL Los valores se propagarán a través de una expresión de acuerdo con unas pocas reglas lógicas.

Funciones

La regla general es que las funciones devuelven NULL cuando los parámetros se salen del rango para el cual se ha definido la función.

Example:  

asin(2)

devuelve

NULL

log(-5)

devuelve

NULL

round(A,0)

devuelve

NULL

Como resultado de lo arriba expuesto se infiere que las funciones generalmente devuelven NULL cuando cualquiera de los parámetros necesarios para la evaluación son NULL.

Example:  

sin(NULL)

devuelve

NULL

chr(NULL)

devuelve

NULL

if(NULL, A, B)

devuelve

B

if(True, NULL, A)

devuelve

NULL

if(True, A, NULL)

devuelve

A

La excepción a la segunda regla es que las funciones lógicas comprueban el tipo.

Example:  

isnull(NULL)

devuelve

True (-1)

isnum(NULL)

devuelve

False (0)

Operadores aritméticos y de cadena

Si se encuentra NULL a cualquier lado de estos operadores, devuelve NULL.

Example:  

A

+

NULL

devuelve

NULL

A

-

NULL

devuelve

NULL

A

/

NULL

devuelve

NULL

A

*

NULL

devuelve

NULL

NULL

/

A

devuelve

NULL

0

/

NULL

devuelve

NULL

0

*

NULL

devuelve

NULL

A

&

NULL

devuelve

A

Operadores relacionales

Si se encuentra NULL en cualquier lado de los operadores relacionales, se aplican reglas especiales.

Example:  

NULL

rel.op

NULL

devuelve

NULL

A

<>

NULL

devuelve

True (-1)

A

<

NULL

devuelve

False (0)

A

<=

NULL

devuelve

False (0)

A

=

NULL

devuelve

False (0)

A

>=

NULL

devuelve

False (0)

A

>

NULL

devuelve

False (0)