MySQL< =>是什么操作员呢?

时间:2009-11-14 05:54:50

标签: mysql

什么是MySQL< =>?

因为操作符是符号,所以很难查找文档。 (类似于三元运算符?:用于编程支持它们的语言。)

我是从一本书中的例子中得到的。

mysql> select null <=> null;
+---------------+
| null <=> null |
+---------------+
|             1 |
+---------------+
1 row in set (0.00 sec)

3 个答案:

答案 0 :(得分:6)

这是一个零安全比较运算符。它太棒了。

这意味着,如果您尝试在数据库中查询某些变量(如字符串),有时可能 null ,则需要使用它。例如,如果您尝试搜索SELECT * FROM table WHERE x = NULL,它将不会返回任何内容,但如果您执行SELECT * FROM table WHERE x <=> NULL则会返回。

答案 1 :(得分:3)

NULL-safe相等。此运算符执行与=运算符相等的比较,但如果两个操作数均为NULL,则返回1而不是NULL;如果一个操作数为NULL,则返回0而不是NULL。

  • MySQL的&GT; SELECT 1&lt; =&gt; 1,NULL&lt; =&gt; NULL,1&lt; =&gt; NULL;
  • - &GT; 1,1,0
  • MySQL的&GT; SELECT 1 = 1,NULL = NULL,1 = NULL;
  • - &GT; 1,NULL,NULL

http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_equal-to

答案 2 :(得分:0)

http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_equal-to

  

NULL-safe相等。此运算符执行与=运算符相等的比较,但如果两个操作数均为NULL,则返回1而不是NULL;如果一个操作数为NULL,则返回0而不是NULL。