码迷,mamicode.com
首页 > 数据库 > 详细

MySQL中的比较操作符<=>

时间:2019-09-08 22:20:54      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:col   not   red   where   mysq   包含   sel   结果   and   

对于=操作符,两个值被比较,结果是0(不相等)或者1(相等)。

比较操作符<=>表示NULL安全的等价。这个比较操作符执行等价比较,和=操作符类似,但是如果两个操作数都是NULL,会返回1,而不是返回NULL;如果其中一个操作数是NULL,会返回0,而不是返回NULL。

 

当参与比较的两个操作数都可能包含NULL,而你需要获得两个列的一个一致性结果的时候,<=>比较操作符就很有用了。另外一个用例是,对于prepared语句,例如:

... WHERE col_a <=> ? ...

这里的占位符可能是标量或者NULL,并不需要对语句做任何修改。

 

<=>是MySQL特有的语法:

‘a‘ IS NULL     ==> ‘a‘ <=> NULL
‘a‘ IS NOT NULL ==> NOT(‘a‘ <=> NULL)

  

mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;
        -> 1, 1, 0
mysql> SELECT 1 = 1, NULL = NULL, 1 = NULL;
        -> 1, NULL, NULL

  

对于比较操作,(a,b)<=>(x,y)等价于:

(a <=> x) AND (b <=> y)

  

MySQL中的比较操作符<=>

标签:col   not   red   where   mysq   包含   sel   结果   and   

原文地址:https://www.cnblogs.com/abclife/p/11488613.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!