Mysql
 sql >> Base de données >  >> RDS >> Mysql

quelque chose à propos de ansi_nulls

Avec ANSI_NULLS OFF , NULL = NULL évalue à TRUE .

Avec ANSI_NULLS ON (la valeur par défaut), NULL = NULL évalue à NULL .

NULL IS NULL est toujours évalué à TRUE .

Cependant, dans MySQL, vous ne pouvez pas désactiver ANSI_NULLS. Vous pensez probablement à MS SQL Server.

Les futures versions de MS SQL Server ne prendront pas en charge ANSI_NULLS OFF , donc je ne l'utiliserais pas.

Vous devez laisser ANSI_NULLS ON et utilisez IS NULL pour évaluer si quelque chose EST NULL.

Si vous rencontrez des problèmes pour vous souvenir du fonctionnement de NULL par défaut (ANSI_NULLS ON), vous devez considérer NULL comme "inconnu ". Par exemple, s'il y a deux inconnus dans la pièce, leurs noms sont NULL. Si votre requête est :"Sont-ils les mêmes noms ?" Votre réponse EST NULL.

Maintenant, disons que Bob est dans la pièce avec un seul étranger, dont le nom est NULL. Encore une fois la réponse à votre question "Est-ce que leurs noms sont les mêmes?" EST NUL. Notez que si vous comparez quoi que ce soit à NULL, votre réponse EST NULL.