ANSI-92 SQL 要求与NULL
评估的比较为“假”,例如:
SELECT * FROM table WHERE field = NULL
SELECT * FROM table WHERE field != NULL
两者都不会返回任何行,因为NULL
不能像那样进行比较。相反,必须使用谓词IS NULL
和:IS NOT NULL
SELECT * FROM table WHERE field IS NULL
SELECT * FROM table WHERE field IS NOT NULL
研究表明,Oracle 1、PostgreSQL、MySQL 和 SQLite 都支持 ANSI 语法。将 DB2 和 Firebird 添加到该列表中。
除了ANSI_NULLS
关闭的 SQL Server,还有哪些其他 RDBMS 支持非 ANSI 语法?
1尽管整个空字符串 =NULL
混乱。