Mysql
 sql >> Datenbank >  >> RDS >> Mysql

etwas über ansi_nulls

Mit ANSI_NULLS OFF , NULL = NULL ergibt TRUE .

Mit ANSI_NULLS ON (Standardeinstellung), NULL = NULL wird zu NULL ausgewertet .

NULL IS NULL wird immer zu TRUE ausgewertet .

In MySQL können Sie ANSI_NULLS jedoch nicht deaktivieren. Sie denken wahrscheinlich an MS SQL Server.

Zukünftige Versionen von MS SQL Server werden ANSI_NULLS OFF nicht mehr unterstützen , also würde ich es nicht verwenden.

Sie sollten ANSI_NULLS ON lassen und verwenden Sie IS NULL um auszuwerten, ob etwas NULL ist.

Wenn Sie Probleme haben, sich daran zu erinnern, wie NULL standardmäßig funktioniert (ANSI_NULLS ON), sollten Sie sich NULL als „unbekannt vorstellen ". Wenn beispielsweise zwei Fremde im Raum sind, sind ihre Namen NULL. Wenn Ihre Frage lautet:"Sind ihre Namen gleich?", lautet Ihre Antwort NULL.

Nehmen wir nun an, Bob ist mit nur einem Fremden im Raum, dessen Name NULL ist. Nochmals die Antwort auf Ihre Frage "Sind ihre Namen gleich?" IST NULL. Beachten Sie, dass Ihre Antwort NULL ist, wenn Sie irgendetwas mit NULL vergleichen.