sql >> Database teknologi >  >> RDS >> Mysql

noget om ansi_nulls

Med ANSI_NULLS OFF , NULL = NULL evalueres til TRUE .

Med ANSI_NULLS ON (standarden), NULL = NULL evalueres til NULL .

NULL IS NULL evalueres altid til TRUE .

I MySQL kan du dog ikke slå ANSI_NULLS fra. Du tænker sikkert på MS SQL Server.

Fremtidige versioner af MS SQL Server understøtter ikke ANSI_NULLS OFF , så jeg ville ikke bruge det.

Du bør lade ANSI_NULLS ON og brug IS NULL for at vurdere, om noget ER NULL.

Hvis du har problemer med at huske, hvordan NULL fungerer som standard (ANSI_NULLS ON), bør du tænke på NULL som "ukendt ". For eksempel, hvis der er to fremmede i rummet, er deres navne NULL. Hvis din forespørgsel er:"Er deres navne de samme?" Dit svar ER NULL.

Lad os nu sige, at Bob er i rummet med kun én fremmed, hvis navn ER NULL. Igen svaret på din forespørgsel "Er deres navne de samme?" ER NULL. Bemærk, at hvis du sammenligner noget med NULL, ER dit svar NULL.



  1. Kan ikke installere mysqlclient Python-pakken på Windows

  2. MySQL:Opdel kommasepareret liste i flere rækker

  3. Diagnosticering af dødvande i SQL Server 2005

  4. Hvordan sletter man en række poster på én gang på MySQL?