Mysql比较运算符实战
一 使用'='进行相等判断
mysql> SELECT 1=0, '2'=2, 2=2,'0.02'=0, 'b'='b', (1+3) = (2+2),NULL=NULL;
+-----+-------+-----+----------+---------+---------------+-----------+
| 1=0 | '2'=2 | 2=2 | '0.02'=0 | 'b'='b' | (1+3) = (2+2) | NULL=NULL |
+-----+-------+-----+----------+---------+---------------+-----------+
| 0 | 1 | 1 | 0 | 1 | 1 | NULL |
+-----+-------+-----+----------+---------+---------------+-----------+
1 row in set (0.02 sec)
二 使用'<=>'进行相等的判断
mysql> SELECT 1<=>0, '2'<=>2, 2<=>2,'0.02'<=>0, 'b'<=>'b', (1+3) <=> (2+1),NULL<=>NULL;
+-------+---------+-------+------------+-----------+-----------------+-------------+
| 1<=>0 | '2'<=>2 | 2<=>2 | '0.02'<=>0 | 'b'<=>'b' | (1+3) <=> (2+1) | NULL<=>NULL |
+-------+---------+-------+------------+-----------+-----------------+-------------+
| 0 | 1 | 1 | 0 | 1 | 0 | 1 |
+-------+---------+-------+------------+-----------+-----------------+-------------+
1 row in set (0.00 sec)
由结果可以看到,'<=>'在执行比较操作时和'='的作用是相似的,唯一的区别是'<=>'可以用来对NULL进行判断,两者都为NULL时返回值为1。
三 使用'<>'和'!='进行不相等的判断
不等于运算符 <>或者 !=
'<>'或者'!='用于判断数字、字符串、表达式不相等的判断。如果不相等,返回值为1;否则返回值为0。这两个运算符不能用于判断空值NULL。
mysql> SELECT 'good'<>'god', 1<>2, 4!=4, 5.5!=5, (1+3)!=(2+1),NULL<>NULL;
+---------------+------+------+--------+--------------+------------+
| 'good'<>'god' | 1<>2 | 4!=4 | 5.5!=5 | (1+3)!=(2+1) | NULL<>NULL |
+---------------+------+------+--------+--------------+------------+
| 1 | 1 | 0 | 1 | 1 | NULL |
+---------------+------+------+--------+--------------+------------+
1 row in set (0.00 sec)
由结果可以看到,两个不等于运算符作用相同,都可以进行数字、字符串、表达式的比较判断。
四 使用'<='进行比较判断
mysql> SELECT 'good'<='god', 1<=2, 4<=4, 5.5<=5, (1+3) <= (2+1),NULL<=NULL;
+---------------+------+------+--------+----------------+------------+
| 'good'<='god' | 1<=2 | 4<=4 | 5.5<=5 | (1+3) <= (2+1) | NULL<=NULL |
+---------------+------+------+--------+----------------+------------+
| 0 | 1 | 1 | 0 | 0 | NULL |
+---------------+------+------+--------+----------------+------------+
1 row in set (0.00 sec)
由结果可以看到,左边操作数小于或者等于右边时,返回值为1,例如:4<=4;当左边操作数大于右边时,返回值为0,例如:'good'第3个位置的'o'字符在字母表中的顺序大于'god'中的第3个位置的'd'字符,因此返回值为0;同样比较NULL值时返回NULL。
五 使用'<'进行比较判断
mysql> SELECT 'good'<'god', 1<2, 4<4, 5.5<5, (1+3) < (2+1),NULL<NULL;
+--------------+-----+-----+-------+---------------+-----------+
| 'good'<'god' | 1<2 | 4<4 | 5.5<5 | (1+3) < (2+1) | NULL<NULL |
+--------------+-----+-----+-------+---------------+-----------+
| 0 | 1 | 0 | 0 | 0 | NULL |
+--------------+-----+-----+-------+---------------+-----------+
1 row in set (0.00 sec)
六 使用'>='进行比较判断
mysql> SELECT 'good'>='god', 1>=2, 4>=4, 5.5>=5, (1+3) >= (2+1),NULL>=NULL;
+---------------+------+------+--------+----------------+------------+
| 'good'>='god' | 1>=2 | 4>=4 | 5.5>=5 | (1+3) >= (2+1) | NULL>=NULL |
+---------------+------+------+--------+----------------+------------+
| 1 | 0 | 1 | 1 | 1 | NULL |
+---------------+------+------+--------+----------------+------------+
1 row in set (0.00 sec)
七 使用'>'进行比较判断
mysql> SELECT 'good'>'god', 1>2, 4>4, 5.5>5, (1+3) > (2+1),NULL>NULL;
+--------------+-----+-----+-------+---------------+-----------+
| 'good'>'god' | 1>2 | 4>4 | 5.5>5 | (1+3) > (2+1) | NULL>NULL |
+--------------+-----+-----+-------+---------------+-----------+
| 1 | 0 | 0 | 1 | 1 | NULL |
+--------------+-----+-----+-------+---------------+-----------+
1 row in set (0.00 sec)
八 使用IS NULL、ISNULL和IS NOT NULL判断NULL值和非NULL值
mysql> SELECT NULL IS NULL, ISNULL(NULL),ISNULL(10), 10 IS NOT NULL;
+--------------+--------------+------------+----------------+
| NULL IS NULL | ISNULL(NULL) | ISNULL(10) | 10 IS NOT NULL |
+--------------+--------------+------------+----------------+
| 1 | 1 | 0 | 1 |
+--------------+--------------+------------+----------------+
1 row in set (0.00 sec)
九 使用BETWEEN AND 进行值区间判断
mysql> SELECT 4 BETWEEN 4 AND 6, 4 BETWEEN 4 AND 6,12 BETWEEN 9 AND 10;
+-------------------+-------------------+---------------------+
| 4 BETWEEN 4 AND 6 | 4 BETWEEN 4 AND 6 | 12 BETWEEN 9 AND 10 |
+-------------------+-------------------+---------------------+
| 1 | 1 | 0 |
+-------------------+-------------------+---------------------+
1 row in set (0.01 sec)mysql> SELECT 'x' BETWEEN 'f' AND 'g', 'b' BETWEEN 'a' AND 'c';
+-------------------------+-------------------------+
| 'x' BETWEEN 'f' AND 'g' | 'b' BETWEEN 'a' AND 'c' |
+-------------------------+-------------------------+
| 0 | 1 |
+-------------------------+-------------------------+
1 row in set (0.00 sec)
十 使用LEAST运算符进行大小判断
mysql> SELECT least(2,0), least(20.0,3.0,100.5), least('a','c','b'),least(10,NULL);
+------------+-----------------------+--------------------+----------------+
| least(2,0) | least(20.0,3.0,100.5) | least('a','c','b') | least(10,NULL) |
+------------+-----------------------+--------------------+----------------+
| 0 | 3.0 | a | NULL |
+------------+-----------------------+--------------------+----------------+
1 row in set (0.01 sec)
十一 使用GREATEST运算符进行大小判断
mysql> SELECT greatest(2,0), greatest(20.0,3.0,100.5), greatest('a','c','b'),greatest(10,NULL);
+---------------+--------------------------+-----------------------+-------------------+
| greatest(2,0) | greatest(20.0,3.0,100.5) | greatest('a','c','b') | greatest(10,NULL) |
+---------------+--------------------------+-----------------------+-------------------+
| 2 | 100.5 | c | NULL |
+---------------+--------------------------+-----------------------+-------------------+
1 row in set (0.00 sec)
十二 使用IN、NOT IN运算符进行判断
mysql> SELECT 2 IN (1,3,5,'thks'), 'thks' IN (1,3,5,'thks');
+---------------------+--------------------------+
| 2 IN (1,3,5,'thks') | 'thks' IN (1,3,5,'thks') |
+---------------------+--------------------------+
| 0 | 1 |
+---------------------+--------------------------+
1 row in set, 2 warnings (0.00 sec)
十三 存在NULL值时的IN查询
mysql> SELECT NULL IN (1,3,5,'thks'),10 IN (1,3,NULL,'thks');
+------------------------+-------------------------+
| NULL IN (1,3,5,'thks') | 10 IN (1,3,NULL,'thks') |
+------------------------+-------------------------+
| NULL | NULL |
+------------------------+-------------------------+
1 row in set, 1 warning (0.00 sec)
十四 使用运算符LIKE进行字符串匹配运算
mysql> SELECT 'stud' LIKE 'stud', 'stud' LIKE 'stu_','stud' LIKE '%d','stud' LIKE 't_ _ _', 's' LIKE NULL;
+--------------------+--------------------+------------------+----------------------+---------------+
| 'stud' LIKE 'stud' | 'stud' LIKE 'stu_' | 'stud' LIKE '%d' | 'stud' LIKE 't_ _ _' | 's' LIKE NULL |
+--------------------+--------------------+------------------+----------------------+---------------+
| 1 | 1 | 1 | 0 | NULL |
+--------------------+--------------------+------------------+----------------------+---------------+
1 row in set (0.00 sec)
十五 使用运算符REGEXP进行字符串匹配运算
mysql> SELECT 'ssky' REGEXP '^s', 'ssky' REGEXP 'y$', 'ssky' REGEXP '.sky', 'ssky' REGEXP '[ab]';
+--------------------+--------------------+----------------------+----------------------+
| 'ssky' REGEXP '^s' | 'ssky' REGEXP 'y$' | 'ssky' REGEXP '.sky' | 'ssky' REGEXP '[ab]' |
+--------------------+--------------------+----------------------+----------------------+
| 1 | 1 | 1 | 0 |
+--------------------+--------------------+----------------------+----------------------+
1 row in set (0.00 sec)
Mysql比较运算符实战相关推荐
- mysql 电商实战_MySQL与电子商务实战
第一部分 MySQL基础 第1章 预备知识 1.1 数据库基础知识 1.1.1 数据和数据管理 1.1.2 数据库的概念 1.1.3 数据库系统的特征 1.1.4 数据库的设计 1.2 SQL基础知识 ...
- MySQL入门_实战6_MySQL数据的更新
MySQL入门_实战系列文章目录 文章目录 MySQL入门_实战系列文章目录 前言 2 数据更新 2.1 语法格式 2.2 更新数据表中的所有记录 2.3 更新表中特定的数据行 2.4 更新某个范围内 ...
- 开发人员MySQL调优-实战篇2-让SQL使用索引详解
2019独角兽企业重金招聘Python工程师标准>>> 建议先看看开发人员MySQL调优-实战篇0 让执行的SQL使用索引 虽然DBA给我们建了很多索引,但没有经验的开发人员往往只看 ...
- [实战]MVC5+EF6+MySql企业网盘实战(16)——逻辑重构3
写在前面 本篇文章将新建文件夹的逻辑也进行一下修改. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5 ...
- MYSQL数值运算符和函数用法
mysql也有数值运算,那么列出常见的函数 ceil() div() floor() mod() power() round() truncate()等等,具体说说MYSQL数值运算符和函数用法. 1 ...
- 收藏起来,史上最全的 MySQL 高性能优化实战总结!
一.前言 MySQL 对于很多 Linux 从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰.在进行 MySQL 的优化之前必须要了解的就是 MySQL 的查询 ...
- MySQL高性能优化实战总结!
1.1 前言 MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰.在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多 ...
- 史上最全的MySQL高性能优化实战总结!
https://www.jianshu.com/p/4af41b682e06 1.1 前言 MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思 ...
- MySQL的进阶实战篇
关联文章: MySQL的初次见面礼基础实战篇 MySQL的进阶实战篇 本篇上一篇博文MySQL的初次见面礼基础实战篇的延续,是mysql的进阶内容的记录,本篇主要知识点如下: 进阶实战篇 进阶实战篇 ...
- 14、MySQL位运算符
所谓位运算,就是按照内存中的比特位(Bit)进行操作,这是计算机能够支持的最小单位的运算.程序中所有的数据在内存中都是以二进制形式存储的,位运算就是对这些二进制数据进行操作. 位运算一般用于操作整数, ...
最新文章
- 激光点云感知 voxnet本质
- 【思维导图】Python中常用的8种字符串操作
- 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-10底层驱动之I2C
- 数据竞赛:第四届工业大数据竞赛-虚拟测量
- C/C++ 中指针和引用的区别
- 写了 20-50 年的代码,才明白的那些真理
- yarn : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本
- 无人机集群定位与编队方式研究总结(最详细的鸟群模型分析)
- 我的内核学习笔记5:proc目录文件创建及读写
- Comet OJ - Contest #11 题解赛后总结
- linux 安装启动ssh服务
- .ipynb文件怎么打开_Win10文件夹打开拒绝访问怎么解决?
- index.php上传到服务器找不到站点,ThinkPHP上传到服务器出现404,未找到index.php模板等问题...
- python os.access_Python用access判断文件是否被占用的实例方法
- Angular2.x
- java实现格拉布斯准则_格拉布斯准则附件.pdf
- Android Studio实现中华字典APP
- Unity3d+GameFramework:资源分析,资源依赖,循环依赖检测
- 平均获客成本_互联网金融获客成本
- 计算机毕业设计之java+ssm供应链管理信息系统
热门文章
- c语言kill暂停和恢复进程,Linux暂停和恢复进程
- USB驱动程序(四)——键盘驱动(控制传输)
- JavaScript——onblur事件失效问题解决方案
- php根据手机号码获取归属地,PHP通过API获取手机号码归属地,手机号码
- swift 框架大全
- 计算机cpu执行时间 指令条数的单位,计算机原理2015年10月真题(02384)
- 高清视频录制工具(Bandicam)v2.1.2.740中文使用技巧
- P1540 机器翻译洛谷题解
- word找不到橡皮擦工具
- android studio链接海马玩模拟器