今天在学习数据库的索引优化时,关于memory存储引擎的的hash索引时,看到了操作符<=> ,这个操作符还是第一次见到,于是上网查了一下。我想大家应该知道 =  !=   <>操作符吧,特别说明一下<> 与!=都是不等于的意思,但是一般都是用<>来代码不等于因为<>在任何SQL中都起作用但是!=在sql2000中用到,则是语法错误,不兼容的。好了,那我们的的<=>是什么意思呢?

正确回答

1.和=号的相同点

像常规的=运算符一样,两个值进行比较,结果是0(不等于)或1(相等);换句话说:’A'<=>’B'得0和’a'<=>’a‘得1。

2.和=号的不同点

和=运算符不同的是,NULL的值是没有任何意义的。所以=号运算符不能把NULL作为有效的结果。所以:请使用<=>,

'a' <=> NULL 得0   NULL<=> NULL 得出 1。和=运算符正相反,=号运算符规则是 'a'=NULL 结果是NULL 甚至NULL = NULL 结果也是NULL。顺便说一句,mysql上几乎所有的操作符和函数都是这样工作的,因为和NULL比较基本上都没有意义。

用处

当两个操作数中可能含有NULL时,你需要一个一致的语句。

1 WHERE col_a <=> ?

这里的占位符有可能是常量也有可能是NULL,当使用<=>运算符时,你没有必要对查询语句做任何修改。

相关操作符

除了 <=> ,还有两个其他的操作符用来处理某个值和NULL做比较,也就是IS NULL and IS NOT NULL。他们是ANSI标准中的一部分,因此也可以用在其他数据库中。而<=>只能在mysql中使用。

你可以把<=>当作mysql中的方言。

1 'a' IS NULL     ==> 'a' <=> NULL
2 'a' IS NOT NULL ==> NOT('a' <=> NULL)

据此,你可以把这个查询语句段改的更具移植性一点:

1 WHERE p.name IS NULL

转载于:https://www.cnblogs.com/yfyzy/p/4448545.html

MySql 中的=操作符相关推荐

  1. 如何理解 MySQL 中的 = 操作符?

    问题 : 我在看以前的一个开发者的代码时看到 WHERE p.name <=> NULL 在这个查询语句中 <=>符号是什么意思啊?是不是和 =号是一样啊?还是一个语法错误啊? ...

  2. mysql gt resource_讲解MySQL中lt;=gt;操作符的用法

    问题 : 我在看以前的一个开发者的代码时看到 WHERE p.name <=> NULL 在这个查询语句中 <=>符号是什么意思啊?是不是和 =号是一样啊?还是一个语法错误啊? ...

  3. mysql操作符_MySql 中的=操作符

    今天在学习数据库的索引优化时,关于memory存储引擎的的hash索引时,看到了操作符<=> ,这个操作符还是第一次见到,于是上网查了一下.我想大家应该知道 =  !=   <> ...

  4. mysql中gt用法_讲解MySQL中lt;=gt;操作符的用法-一团网

    问题 : 我在看以前的一个开发者的代码时看到 在这个查询语句中 <=>符号是什么意思啊?是不是和 =号是一样啊?还是一个语法错误啊?但是没有显示任何错误或者异常.我已经知道了mysql中的 ...

  5. mysql中正则表达式的用法_Mysql中正则表达式Regexp常见用法

    Mysql中Regexp常见用法 模糊匹配,包含特定字符串 # 查找content字段中包含"车友俱乐部"的记录 select * from club_content where ...

  6. MySQL中的联合索引学习教程

    MySQL中的联合索引学习教程 这篇文章主要介绍了MySQL中的联合索引学习教程,其中谈到了联合索引对排序的优化等知识点,需要的朋友可以参考下 联合索引又叫复合索引.对于复合索引:Mysql从左到右的 ...

  7. mysql中以下正确的sql是_总结MySQL中SQL语法的使用

    --where子句操作符: where子句操作符 = 等于 <> 不等于(标准语法) != 不等于(非标准语法,可移植性差) < 小于 <= 小于等于 > 大于 > ...

  8. MySQL从入门到精通50讲(十)-MySQL中null值如何处理

    MySQL NULL 值处理 我们已经知道MySQL使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作. 为了 ...

  9. mysql中与null值不能比较

    在mysql中,选择某field为不等于某值的时候,使用<>符号.但查bug时发现该field为null的并不能查出来. 查原因为: null值不能与其他值进行比较,只能使用is null ...

最新文章

  1. json 数据类型简介
  2. shell 常用正则表达式
  3. 【转】ASP.NET AJAX入门系列
  4. 强大的grep命令使用经验
  5. POJ 3461Oulipo KMP模板
  6. Unity调试外部DLL
  7. shell脚本编程基础(三)
  8. 2020千月最新影视源码 对接苹果影视app小白零基础搭建视频教学可赚钱影视APP
  9. flash 图片有描边 html,Flash遮罩制作线条逐渐显示的汽车轮廓动画效果
  10. 程序员年薪40万被国企同学怒怼:没啥贡献,工资这么高,凭什么?
  11. 【SPSS笔记】主效应、交互效应
  12. 免费的office软件哪个好用
  13. idea 使用 lombok插件
  14. Python网络爬虫--项目实战--scrapy爬取人人车
  15. 城市编码映射json格式
  16. H5游戏开发很重要,后台可控可测,超圣刷流水,招代理稳赢
  17. C#获取本地磁盘目录
  18. /etc/profile与/etc/enviroment的比较
  19. 《惢客创业日记》2019.11.01(周五) 十月份的工作总结
  20. A Birthday Party

热门文章

  1. 生产是什么意思_俗话说:“牛遇无春年,出力好耕田”是啥意思?有什么道理?...
  2. ipad导入pdf_Ipad笔记法①日常笔记篇
  3. QPainter的使用
  4. 导致溢出_邯郸一司机,溢出的“5毫克”导致A2被降级,老司机自吞“苦酒”
  5. 中石化shell_中石化壳牌(江苏)加油站百日攻坚创效分享
  6. shell调用python脚本传递命名关键字参数_关于python:将字典作为关键字参数传递给函数...
  7. ReactNative入门之android与rn初始化参数的传递
  8. 服务器运维应该报什么专业,数据中心基础设施运维人员应该掌握哪些专业技能?...
  9. 七牛HTML 上传按钮,七牛 JSSDK 配置+常见问题
  10. Spring写第一个程序HelloSpring