Otro predicado que es útil para comparar valores que pueden contener el valor NULL es el predicado DISTINCT. La comparación de dos columnas con una comparación igual normal (COL1 = COL2) será verdadera si ambas columnas contienen un valor igual no nulo. Si ambas columnas son nulas, el resultado será falso porque null nunca es igual a ningún otro valor, ni siquiera otro valor nulo. Con el predicado DISTINCT, los valores nulos se consideran iguales. Entonces COL1 NO ES DISTINTO desde COL2 será verdadero si ambas columnas contienen un valor no nulo igual y también cuando ambas columnas son el valor nulo.
DB2 Null Handling
Eso significa que todas las operaciones de comparación serán falsos, ya que está comparando un valor desconocido a algo. Así que no importa qué comparación uses (¡solo funcionará la operación IS NULL/IS NOT NULL!), Será falsa.
Si desea que la consulta al trabajo que debe usar algo como
SELECT *
FROM SOMESCHEMA.SOMETABLE
WHERE COALESCE(SYSDATE, TIMESTAMP_FORMAT('0001-01-01 23:59:59', 'YYYY-MM-DD HH24:MI:SS')) > @A
si DB2 tiene "ANSI NULL" semántica entonces el único operador binario que es cierto que debería ser " IS NULL ", AFAIK. –
@pst DB2 [tiene ANSI] (http://www.dbforums.com/db2/765612-handing-null-values-db2.html#post2808106), ¿qué quiere decir con _ el único operador binario que es cierto debe ser "ES NULO"_ ? –