比较运算符可用于比较数字和字符串。今天发一篇Mysql比较运算符详解,希望对初学者有所帮助,虽然现在流行NoSQL,但是MYSQL还是很有用的,数字作为浮点值进行比较,字符串以不区为例进行比较,=运算符用于比较表达式的两边是否相等。您也可以比较字符串。

运算符用于检测表达式的两边是否不相等,如果不相等,则返回真值。

您也可以比较字符串。

算术操作符是SQL中最基本的操作运算符,主要有一下几种运算符:

+(加)、 -(减)、 *(乘)、 /(除)、 %(求余或者模)

算术操作符测试案例:

创建表tmp14,定义数据类型为INT的字段num,插入值64,对num值进行算术运算:

首先创建表tmp14,输入语句如下:

CREATE TABLE tmp14 ( num INT);

向字段num插入数据64:

INSERT INTO tmp14 value(64);

接下来,对num值进行加法和减法运算:

SELECT num, num+10, num-3+5, num+5-3, num+36.5 FROM tmp14;

由计算结果可以看到,可以对num字段的值进行加法和减法的运算,而且由于’+’和’–’的优先级相同,因此先加后减,或者先减后加之后的结果是相同的。

对tmp14表中的num进行乘法、除法运算。

SELECT num, num *2, num /2, num/3, num%3 FROM tmp14;

由计算结果可以看到,对num进行除法运算时候,由于64无法被3整除,因此MySQL对num/3求商的结果保存到了小数点后面四位,结果为21.3333;64除以3的余数为1,因此取余运算num%3的结果为1。

在数学运算时,除数为0的除法是没有意义的,因此除法运算中的除数不能为0,如果被0除,则返回结果为NULL。

由计算结果可以看到,对num进行除法求商或者求余运算的结果均为NULL。

比较运算符

一个比较运算符的结果总是1,0或者是NULL。MySQL中的比较运算符有:

=、<=>、<> (!=)、<=、>=、>、IS NULL、IS NOT NULL、LEAST、GREATEST、BETWEEN . . . AND. . . 、ISNULL、IN、NOT IN、LIKE、REGEXP

使用‘=’进行相等判断,SQL语句如下:

SELECT 1=0, '2'=2, 2=2,'0.02'=0, 'b'='b', (1+3) = (2+2),NULL=NULL;

使用’<=>’进行相等的判断,SQL语句如下:

由结果可以看到,’<=>’在执行比较操作时和’=’的作用是相似的,唯一的区别是’<=>’可以用来对NULL进行判断,两者都为NULL时返回值为1。

不等于运算符 <>或者 !=

‘<>’或者’!=’用于判断数字、字符串、表达式不相等的判断。如果不相等,返回值为1;否则返回值为0。这两个运算符不能用于判断空值NULL。

使用’<>’和’!=’进行不相等的判断,SQL语句如下:

SELECT 'good'<>'god', 1<>2, 4!=4, 5.5!=5, (1+3)!=(2+1),NULL<>NULL;

由结果可以看到,两个不等于运算符作用相同,都可以进行数字、字符串、表达式的比较判断。

使用’<=’进行比较判断,SQL语句如下:

SELECT 'good'<='god', 1<=2, 4<=4, 5.5<=5, (1+3) <= (2+1),NULL<=NULL;

由结果可以看到,左边操作数小于或者等于右边时,返回值为1,例如:4<=4;当左边操作数大于右边时,返回值为0,例如:’good’第3个位置的’o’字符在字母表中的顺序大于’god’中的第3个位置的’d’字符,因此返回值为0;同样比较NULL值时返回NULL。

使用’

SELECT 'good'

使用’>=’进行比较判断,SQL语句如下:

SELECT 'good'>='god', 1>=2, 4>=4, 5.5>=5, (1+3) >= (2+1),NULL>=NULL;

使用’>’进行比较判断,SQL语句如下:

SELECT 'good'>'god', 1>2, 4>4, 5.5>5, (1+3) > (2+1),NULL>NULL;

使用IS NULL、ISNULL和IS NOT NULL判断NULL值和非NULL值,SQL语句如下:

SELECT NULL IS NULL, ISNULL(NULL),ISNULL(10), 10 IS NOT NULL;

使用BETWEEN AND 进行值区间判断,输入SQL语句如下:

SELECT 4 BETWEEN 4 AND 6, 4 BETWEEN 4 AND 6,12 BETWEEN 9 AND 10;

SELECT 'x' BETWEEN 'f' AND 'g', 'b' BETWEEN 'a' AND 'c';

使用LEAST运算符进行大小判断,SQL语句如下:

SELECT least(2,0), least(20.0,3.0,100.5), least('a','c','b'),least(10,NULL);

使用GREATEST运算符进行大小判断,SQL语句如下:

SELECT greatest(2,0), greatest(20.0,3.0,100.5), greatest('a','c','b'),greatest(10,NULL);

使用IN、NOT IN运算符进行判断,SQL语句如下:

SELECT 2 IN (1,3,5,'thks'), 'thks' IN (1,3,5,'thks');

存在NULL值时的IN查询,SQL语句如下:

SELECT NULL IN (1,3,5,'thks'),10 IN (1,3,NULL,'thks');

使用运算符LIKE进行字符串匹配运算,SQL语句如下:

SELECT 'stud' LIKE 'stud', 'stud' LIKE 'stu_','stud' LIKE '%d','stud' LIKE 't_ _ _', 's' LIKE NULL;

使用运算符REGEXP进行字符串匹配运算,SQL语句如下:

SELECT 'ssky' REGEXP '^s', 'ssky' REGEXP 'y$', 'ssky' REGEXP '.sky', 'ssky' REGEXP '[ab]';

逻辑运算符

逻辑运算符的求值所得结果均为TRUE、FALSE或NULL。

逻辑运算符有:

NOT 或者 !

AND 或者 &&

OR 或者 ||

XOR(异或)

使用非运算符“NOT”和“!”进行逻辑判断,SQL语句如下:

SELECT NOT 10, NOT (1-1), NOT -5, NOT NULL, NOT 1 + 1;

SELECT !10, !(1-1), !-5, ! NULL, ! 1 + 1;

使用与运算符“AND”和“&&”进行逻辑判断,SQL语句如下:

SELECT 1 AND -1,1 AND 0,1 AND NULL, 0 AND NULL;

SELECT 1 && -1,1 && 0,1 && NULL, 0 && NULL;

使用或运算符“OR”和“||”进行逻辑判断,SQL语句如下:

SELECT 1 OR -1 OR 0, 1 OR 2,1 OR NULL, 0 OR NULL, NULL OR NULL;

SELECT 1 || -1 || 0, 1 || 2,1 || NULL, 0 || NULL, NULL || NULL;

使用异或运算符“XOR”进行逻辑判断,SQL语句如下:

SELECT 1 XOR 1, 0 XOR 0, 1 XOR 0, 1 XOR NULL, 1 XOR 1 XOR 1;

执行上面的语句,结果如下。

位运算符

位运算符是用来对二进制字节中的位进行测试、移位或者测试处理。位运算符有:

位或(|)

位与(&)

位异或(^ )

位左移(<

位右移(<

位取反(~)

使用位或运算符进行运算,SQL语句如下:

SELECT 10 | 15, 9 | 4 | 2;

使用位与运算符进行运算,SQL语句如下:

SELECT 10 & 15, 9 &4& 2;

使用位异或运算符进行运算,SQL语句如下:

SELECT 10 ^ 15, 1 ^0, 1 ^ 1;

使用位左移运算符进行运算,SQL语句如下:

SELECT 1<<2, 4<<2;

使用位右移运算符进行运算,SQL语句如下:

SELECT 1>>1, 16>>2;

使用位取反运算符进行运算,SQL语句如下:

SELECT 5 & ~1;

运算符的优先级

运算的优先级决定了不同的运算符在表达式中计算的先后顺序。

级别高的运算符先进行计算,如果级别相同,MySQL按表达式的顺序从左到右依次计算。当然,在无法确定优先级的情况下,可以使用圆括号“()”来改变优先级。

默认情况下,MySQL相关论文,对不区是区分大小写的。如果你需要区分,你需要添加二进制关键字。

=,运算符用于比较表达式的左侧是否小于或等于、大于或等于、小于或大于右侧。

between运算符用于检测某个值是否存在于指定范围内。其中它返回真实值。

您可以添加一个非逻辑运算符来否定between比较,只有当表达式在给定范围之外时,才会返回真值。

in运算符用于验证一个值是否包含在一组指定的值中。其中返回真实值。

为空和非空运算符用于执行包含空值的比较操作

运算符称为空安全等号

相似运算符的通配符。

当使用包含like运算符的查询时,建议确保对where子句中命中的列进行索引,并且where子句包含足够的数据来限制开头搜索的记录数。

mysql所支持的比较运算符_mysql比较运算符有哪些?Mysql比较运算符详解相关推荐

  1. mysql去重函数的使用方法_MySQL中使用去重distinct方法的示例详解

    一 distinct 含义:distinct用来查询不重复记录的条数,即distinct来返回不重复字段的条数(count(distinct id)),其原因是distinct只能返回他的目标字段,而 ...

  2. mysql启动失败 查看日志文件_mysql诊断启动问题、查看日志文件详解

    诊断启动问题 服务器启动问题通常在对MySQL配置或服务器本身进行更改时出现.MySQL在这个问题发生时报告错误,但由于多数MySQL服务器是作为系统进程或服务自动启动的,这些消息可能看不到. 在排除 ...

  3. 查看mysql的启动日志目录下_mysql诊断启动问题、查看日志文件详解

    诊断启动问题 服务器启动问题通常在对MySQL配置或服务器本身进行更改时出现.MySQL在这个问题发生时报告错误,但由于多数MySQL服务器是作为系统进程或服务自动启动的,这些消息可能看不到. 在排除 ...

  4. mysql外键实例学生成绩_mysql 外键(foreign key)的详解和实例

    外键具有保持数据完整性和一致性的机制,对业务处理有着很好的校验作用. ============================白话文简介================================ ...

  5. mysql BDB支持表锁吗_mysql 表锁问题

    本文转自:http://www.cnblogs.com/itdragon/p/8194622.html MySQL 表锁和行锁机制 行锁变表锁,是福还是坑?如果你不清楚MySQL加锁的原理,你会被它整 ...

  6. mysql 1061原因_MySQL死锁问题分析及解决方法实例详解(转)

    出处:http://www.jb51.net/article/51508.htm MySQL死锁问题是很多程序员在项目开发中常遇到的问题,现就MySQL死锁及解决方法详解如下: 1.MySQL常用存储 ...

  7. mysql select语法_MySQL SELECT语法(一)SELECT语法详解

    SELECT的语法如下: SELECT[ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT ...

  8. mysql 优化300例_MySQL配置文件my.cnf参数优化和中文详解

    Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的 ...

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

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

  10. mysql数据库存储引擎和索引的描述_Mysql InnoDB引擎的索引与存储结构详解

    前言 在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的. 而MySql数据库提供了多种存储引擎.用户可以根据不同的需求为数据表选择不同的存储引擎,用户也 ...

最新文章

  1. js push(),pop(),unshift(),shift()的用法小结
  2. Java读书笔记05 类与对象
  3. mfc vs2013 项目怎么更改类名_VS2010 更改MFC标题及标题栏图标和exe图标
  4. java-HTMLjavaSkcriptCSSjQueryajax
  5. Spring DI模式 小样例
  6. php把数据创建一个表格,PHP创建(导出Excel数据表格)
  7. 消息中间件学习总结(11)——Kafka与RocketMQ的Topic数量对单机性能的影响比较分析
  8. 《监控》这本书让我爱不释手
  9. Linux性能测试与调优最常用的15条命令
  10. 十进制转换为二进制数、八进制数和十六进制
  11. 高光谱遥感数据集下载及简介
  12. MySQL全局锁库锁表
  13. python怎样输出字符串和数字_从零开始py个thon2:数字与字符串
  14. 去中心化自治组织DAO简要介绍
  15. python小程序——视频篇
  16. 自学大数据可以找到工作吗?该怎么学?
  17. 数据库管理 │ 浅谈从集中式到分布式数据库的转型要点
  18. 如何利用OA优化企业的采购招投标流程
  19. UL588圣诞灯串测试标准和相关法规
  20. 同一交换机不同网段的主机间通信

热门文章

  1. 少儿编程150讲轻松学Scratch(三)-关卡类游戏《鱼塘》
  2. python的代码在哪写_python代码在哪里编写
  3. oracle中or会使索引,为何查询条件中多了 OR 选项,索引就走全扫描?
  4. java 监控 native 内存_JVM NativeMemoryTracking 分析堆外内存泄露
  5. 解决 invalid input detected at ‘^’ marker的问题
  6. 【APICloud系列|3】开发APP对UI的一般性要求
  7. w10家庭版安装java不_小编为你分析win10系统安装不了java的设置办法
  8. 箱式图 添加异常值平均值_什么是脏数据?怎样用箱形图分析异常值?终于有人讲明白了...
  9. JSP 插入到数据库的数据出现 “SQLServerException: 将截断字符串或二进制数据” 错误解决方案
  10. jsp实现上一页下一页翻页功能