今天在学习数据库的索引优化时,关于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时,你需要一个一致的语句。

WHERE col_a <=> ?

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

相关操作符

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

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

'a' IS NULL ==> 'a' <=> NULL

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

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

WHERE p.name IS NULL

如何理解 MySQL 中的 &lt&semi;&equals;&gt&semi; 操作符?

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

mysql中操作符LIKE与通配符&percnt;的使用

mysql中通配符%用来通配其他字符,操作符LIKE用来查询字段中存在相同的字符 SELECT t.userId,t.cellphone,t.idNo,t.* FROM t_person t WHER ...

mysql中,主键与普通索引

一.什么是索引?索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录.表里 ...

mysql中的null字段值的处理及大小写问题

在MySQL中,NULL字段的处理,需要注意,当在处理查询条件中有NULL,很有可能你得到的值不是想要的,因为,在MySQL中,判断NULL值相等(=)或者不等(!=)都会返回false.主要出现在常 ...

MySQL中order by中关于NULL值的排序问题

MySQL中order by 排序遇到NULL值的问题 MySQL数据库,在order by排序的时候,如果存在NULL值,那么NULL是最小的,ASC正序排序的话,NULL值是在最前面的. 如果我们 ...

如何在MySQL中获得更好的全文搜索结果

如何在MySQL中获得更好的全文搜索结果 很多互联网应用程序都提供了全文搜索功能,用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录.在后台,这些程序使用在一个SELECT 查询中的LIKE语 ...

MySQL中REGEXP正则表达式使用大全

REGEXP在mysql是用来执行正则表达式的一个函数 像php中的preg之类的函数了,regexp正则函数如果只是简单的查询使用like即可,但复杂的还是需要使用regexp了,下面我们来看看. ...

mysql中相关,无关子查询,表与表之间的关系以及编码和乱码的解决

※MySQL中的字符编码(注意,utf8中没有'-',跟Java中不一样)SHOW VARIABLES; //查看系统变量//查询字符编码相关的系统变量SHOW VARIABLES WHERE var ...

mysql中isnull&comma;ifnull&comma;nullif的用法

今天用到了MySql里的isnull才发现他和MSSQL里的还是有点区别,现在简单总结一下: mysql中isnull,ifnull,nullif的用法如下: 1. isnull(expr) 的用法: ...

随机推荐

C&num;的扩展方法解析

在使用面向对象的语言进行项目开发的过程中,较多的会使用到“继承”的特性,但是并非所有的场景都适合使用“继承”特性,在设计模式的一些基本原则中也有较多的提到. 继承的有关特性的使用所带来的问题:对象的继 ...

The integer promotion&period;

Usual Arithmetic Conversion: The integer promotions are performed on both operands. Then the followi ...

使用Join代替In

我们知道,在sql中使用IN让我们的where子句可以规定多个值.当需要从一个集合中查询包含某几个值的记录的时候,通常我们会选择使用IN来实现,其实,使用JOIN也可以实现这样的功能,而且性能要比IN ...

java虚拟机学习-深入理解JVM&lpar;1&rpar;

1   Java技术与Java虚拟机 说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成: Java编程语言.Java类文件格式.Java虚拟机和Java应 ...

All about Div内显示滚动桥

Div内显示滚动桥看似是一个简单的前端问题,然而实际会发现还是有挺多需要注意的, 本文尝试对div内显示滚动桥的各种主要实现及一些难题进行研究. 横向滚动桥 横向滚动桥比较简单,无需设置宽度,直接ov ...

python 面向对象的类

参考 网址:https://learnpythonthehardway.org/book/ex41.html class X(Y) &quot ...

Go面向对象(三)

go语言中的大多数类型都是值予以,并且都可以包含对应的操作方法,在需要的时候你可以给任意类型增加新方法.二在实现某个接口时,无需从该接口集成,只需要实现该接口要求的所有方法即可.任何类型都可以被any ...

Java集合----概述、Collection接口、Iterator接口

Java 集合概述 Java 集合就像一种容器,可以把多个对象的引用放入容器中. Java 集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关联数组 Java 集合可分为 Set.Li ...

点滴积累【C&num;】---对上传文件的路径进行加密,以免将路径暴露在浏览器上,避免一些安全隐患!

效果: 描述: 本事例是为解决在上传或下载文件时避免将路径暴露在外.在上传时将路径进行加密保存到DataTable或数据库中,在下载是再读取DataTable中加密数据进行解密下载. 代码: [前台代 ...

mysql操作符_MySql 中的=操作符相关推荐

  1. mysql 互斥_MySql中互斥量mutex的实现

    数据库中的Mutex量指的是一种用于保护一些临界资源的使用的信号量.当有线程需要使用这些临界资源时,会请求获得mutex量,请求成功的线程进入临界区,而请求失败的线程只能等待它释放这个mutex.互斥 ...

  2. mysql 金额_Mysql中金额使用DECIMAL类型

    MySQL中存在float,double等非标准数据类型,也有decimal这种标准数据类型. 其区别在于,float,double等非标准类型,在DB中保存的是近似值,而Decimal则以字符串的形 ...

  3. mysql 互斥_Mysql 中互斥锁的使用

    本文介绍如在在多线程mysql代码开发中使用互斥锁. mysql自己对c++的mutex又进行了一次封装,封装的代码可以在include/mysql/psi/mysql_thread.h  中找到. ...

  4. js mysql替换_MySQL中使用replace、regexp进行正则表达式替换的用法分析

    本文实例讲述了MySQL中使用replace.regexp进行正则表达式替换的用法.分享给大家供大家参考,具体如下: 今天一个朋友问我,如果将数据库中查到的类似于"./uploads/110 ...

  5. mysql isnull()_MySql中的IFNULL、NULLIF和ISNULL用法详解

    今天用到了MySql里的isnull才发现他和MSSQL里的还是有点区别,现在简单总结一下: mysql中isnull,ifnull,nullif的用法如下: isnull(expr) 的用法: 如e ...

  6. mysql 插入_Mysql中创建表格及插入数据

    学习笔记 [数据库相关概念] Q:什么是数据库和关系数据库. A:数据库是存储数据合集的"仓库".关系数据库是保存多张表和多张表之间的关系的数据库.关键字段将多张表"联结 ...

  7. mysql 特殊函数_MySQL中sleep函数的特殊现象示例详解

    前言 MySQL中的系统函数sleep,实际应用的场景不多,一般用来做实验测试,昨天在测试的时候,意外发现sleep函数的一个特殊现象.如果在查询语句中使用sleep函数,那么休眠的时间跟返回的记录有 ...

  8. % mysql 代表_MySQL中的星号(*)和百分号(%)代表表示什么,MySQL的库名、表名、字段名、字段值是否区分大...

    1.MySQL中的星号(*)和百分号(%)代表表示什么 星号(*):表示全部的意思. select * from table_name;(查询表table_name中所有的数据) 百分号(%):表示通 ...

  9. mysql 序列_MySql中序列的应用和总结

    Mysql中的序列主要用于主键,主键是递增的字段,不可重复. Mysql与Oracle不同的是,它不支持原生态的sequence,需要用表和函数的组合来实现类似序列的功能. 1.首先创建序列的主表 / ...

最新文章

  1. processing link链接
  2. 虚拟内存(VirtualAlloc),堆(HeapAlloc/malloc/new)和Memory Mapped File
  3. NUMTRYE - Number Theory (Easy)
  4. 信息安全工程师笔记-案例分析(三)
  5. Linux Shell编程笔记10 Shell数组的补充
  6. adoption/adaption
  7. Atitit 管理plus 的概念,为什么要留长发与管理思想的结合 目录 1.1. 孝道的体现 身体发肤 受之发肤 不敢毁伤 出自 1 1.2. 著作介绍 1 1.3. 传统国学文化的复兴 中国
  8. [转]UBB代码解析规范
  9. edius隐藏快捷键_超级实用的edius常用快捷键
  10. k2p升级显示服务器错误,k2p—b1版本刷固件遇到的问题
  11. 数据分析师都有哪些发展方向?
  12. ionic代码压缩与代码混淆
  13. 语音-MFCC,Fbank特征提取
  14. 陈一舟:以前创业占地就行 现在要做游击队
  15. bim学习—— 第7章 放置幕墙门窗
  16. gitbook安装使用看完这一篇就够了
  17. 服务器iis短文件名漏洞,IIS短文件名漏洞分析及一个实例
  18. MacBook M1 Flutter环境搭建
  19. 【Scala教程】如何在已掌握的Java知识基础上快速上手Scala?【个人学习记录】
  20. 用Delphi开发视频聊天软件

热门文章

  1. Hibernate 框架基本知识
  2. UITableView使用总结和性能优化
  3. nodejs之处理GET请求
  4. nginx 日志过滤网络爬虫
  5. JAVA 垃圾收集监控
  6. eclipse安装aptana插件对html、js、jq、css等的提示
  7. 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建项目
  8. 编译Android源码相关资源及文章
  9. 自写保存字符串或文件为asp.net缓存的类
  10. 关于vue中watch和computed