MySQL 中的不等于 NULL 运算符:
在使用 SQL 查询时,您可能会遇到 <=> 运算符,引发有关其含义和语法的问题。本指南将深入了解该运算符及其应用。
理解
运算符称为 NULL 安全等于运算符。它类似于常规等于运算符 (=),但在处理 NULL 值时有一个关键区别。
常规等于运算符与 NULL 安全等于运算符
如果操作数不相等,则常规等于运算符 (=) 返回 0;如果操作数相等,则返回 1。但是,它将 NULL 值视为特殊情况,在此类比较中生成 NULL 作为结果。
另一方面, 运算符以不同方式处理 NULL 值。如果操作数不相等,则返回 0;如果相等,则返回 1,无论其中一个或两个操作数是否为 NULL。换句话说:
运算符的用处特别明显在比较中的两个操作数都可能包含 NULL 值并且需要两个操作数之间的比较结果一致的情况下很有用
该运算符的另一个实际应用是在准备好的语句中,其中占位符可以无缝处理标量值和 NULL 值,而无需修改查询。
相关运算符
MySQL 还提供其他运算符来比较值NULL:
这些运算符可以被视为 MySQL 的 运算符的特化。例如:
支持和兼容性
运算符是 MySQL 特定的,其他数据库不支持。
SQL:2003 标准引入了一个谓词,IS [NOT] DISTINCT FROM,其行为与 MySQL 相同 运算符。
此外,以下复杂但普遍支持的表达式也可以达到相同的结果:
CASE WHEN (a = b) or (a IS NULL AND b IS NULL) THEN 1 ELSE 0 END = 1
以上是MySQL 的 NULL 安全等于运算符 () 如何工作?的详细内容。更多信息请关注PHP中文网其他相关文章!