sql >> Base de Datos >  >> RDS >> Mysql

algo sobre ansi_nulls

Con ANSI_NULLS OFF , NULL = NULL se evalúa como TRUE .

Con ANSI_NULLS ON (el valor predeterminado), NULL = NULL evalúa a NULL .

NULL IS NULL siempre se evalúa como TRUE .

Sin embargo, en MySQL, no puede desactivar ANSI_NULLS. Probablemente esté pensando en MS SQL Server.

Las versiones futuras de MS SQL Server no admitirán ANSI_NULLS OFF , así que no lo usaría.

Deberías dejar ANSI_NULLS ON y use IS NULL para evaluar si algo ES NULL.

Si tiene problemas para recordar cómo funciona NULL de forma predeterminada (ANSI_NULLS ON), debe pensar en NULL como "desconocido ". Por ejemplo, si hay dos extraños en la habitación, sus nombres son NULL. Si su consulta es, "¿Son los mismos nombres?" Su respuesta ES NULL.

Ahora, digamos que Bob está en la habitación con un solo extraño, cuyo nombre ES NULL. Nuevamente la respuesta a su consulta "¿Son sus nombres iguales?" ES NULO. Tenga en cuenta que si compara algo con NULL, su respuesta ES NULL.