2012-06-07 21 views

Respuesta

6
+0

No, eso resulta en 'ORA-00908: falta la palabra clave NULL' –

+0

Gracias. El resto de mi comentario sigue siendo cierto. – gpojd

+0

Gracias, '+ 1' de mí. La respuesta de Justin Cave en su pregunta vinculada explica la historia detrás de esto perfectamente. –

7

Oracle no distingue entre cadena vacía y NULL.

Es por eso que el tipo de datos de cadena recomendado es VARCHAR2 y no VARCHAR: se supone que este último hace esta distinción, pero actualmente no.

En la lógica trivalente que SQL usos, NULL = NULL (que en Oracle es sinónimo de '' = '') evalúa a NULL (no FALSE pero NULL) y por lo tanto se separa por filtración por la cláusula WHERE.

+0

+1 La expresión '' = '' se evalúa como NULL, no como FALSE. – spencer7593

Cuestiones relacionadas