4.Mysql中的运算符
运算符用来连接表达式。
运算符包括:算术运算符、比较运算符、逻辑运算符、位运算符。

4.1 算术运算符
算术运算符包括加(+)、减(-)、乘(*)、除(/)、取模(%,MOD) 5种。
例子:
select 2+3,5-3,2*3,7/3,7%3,MOD(7,3);
select 7/0,7%0,MOD(7,0); -- ok 除数为0时不报错,但结果为null

4.2 比较运算符
比较运算符用于表达式左边操作数和右边操作数的比较操作,比较结果取值可能为真(1)、假(0)、未知(null)。
比较运算符可以比较数字、字符串和表达式,
数字作为浮点数比较,字符串不区分大小写,表达式比较运算结果。
除is null\is not null\<=>外, null和其它运算符的运算结果仍为null。
= 等于
<>或!= 不等于
<=> null安全的等于(Null-safe)
< 小于
<= 小于等于
> 大于
>= 大于等于
between and 大于等于 并且 小于等于
in 在集合内
is null 是否为null
is not null 是否不为null
like 模糊匹配
regexp或rlike 正则表达式匹配
例子:
select 1.00=1,'A'='a',2*2=2+2,null=null;-- 数字作为浮点数比较,字符串不区分大小写,表达式比较运算结果。
select 1.00<>1,'A'<>'a',2*2<>2+2,null<>null;
select 1.00<1,1.00<=1,1.00>1,1.00>=1;
select null is null,null is not null,null<=>null; -- 除is null\is not null\<=>外, null和其它运算符的运算结果仍为null。
select 5 between 1 and 10,1 between 5 and 10;
select 5 in (1,2,3,4,5),10 in (1,2,3,4,5);
select 'abc' like 'a%','abc' not like '_a%';
select 'abcd' regexp 'bc','abcd' regexp '1';

4.3 逻辑运算符
逻辑运算符(布尔运算符)用来确认表达式的真和假。
逻辑运算符分为4种:
NOT或! 逻辑非 取反
AND或&& 逻辑与 两个都为真时为真,否则为假
OR或|| 逻辑或 两个都为假时为假,否则为真
XOR 逻辑异或 两个不同时为真,相同时为假
例子:
select not 0,!1,! null;
select 0 and 0,0 and 1,1&&0,1&&1;
select 0 or 0,0 or 1,1||0,1||1;
select 0 xor 0,0 xor 1,1 xor 0,1 xor 1;

4.4 位运算符
位运算是将给定的操作数转化为二进制后,对各个操作数每一位都进行指定的逻辑运算,得到的二进制结果转换为十进制后就是位运算的结果。
位运算符分为6种:
& 按位与
| 按位或
^ 按位异或
~ 按位取反
>> 按位右移
<< 按位左移
例子:
十进制转二进制
1-->1,2-->10,3-->11,8-->1000 16-->10000
常量数字默认以8B存储,18446744073709551614-->11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111110
select 2&3,2|3,2^3,~1,~18446744073709551614,2<<3,8>>3;

4.5 运算符的优先级
所有运算符由低到高排列,同一行运算符具有相同的优先级:
优先顺序 运算符列表
1 :=赋值符
2 OR或||(逻辑或)、XOR逻辑异或
3 AND或&&逻辑与
4 NOT逻辑非
5 between and(大于等于并且小于等于)、case when then else 条件分支
6 =等于、<=> null安全的等于(Null-safe)、<>或!=不等于、<小于、<=小于等于、>大于、>=大于等于、is null是否为null、is not null是否不为null、in在集合内、like模糊匹配、regexp或rlike正则表达式匹配
7 |按位或
8 &按位与
9 >>按位右移、<<按位左移
10 +加、-减
11 *乘、/除、(%,MOD)取模
12 ^按位异或
13 ~按位取反、++一元加号、--一元减号
14 !逻辑非
可以用小括号()来改变操作符的优先级顺序。
4.6 小结

4.Mysql中的运算符的更多相关文章

  1. MySQL中的运算符和时间运算

    一.MySQL中运算符的分类 算术运算符,比较运算符,逻辑运算符,按位运算符 二.算数运算符 符号                            作用 + 加法   - 减法   * 乘法   ...

  2. MySQL 中的运算符

    1.算数运算符 MySQL 支持的算术运算符包括加.减.乘.除和模运算. 运算符 作用 + 加法,获得一个或多个值的和 - 减法,从一个值中减去另一个值 * 乘法,得到两个或多个值的乘积 /,div ...

  3. MySQL中的运算符

    一.算法运算符: (A) 除法运算和模运算中,如果除数为0,非法,返回结果为NULL. 二.比较运算符: (A) 比较结果不确定是返回NULL. (B) 比较运算符可以用于比较数字.字符串和表达式.数 ...

  4. Mysql 中Left/Right join on后面and和where条件查询的差异-Mysql SQL运算符是有优先级

    一.Mysql中Left/Right join on后面and和where条件查询的差异 1.建两张测试表,一张商户定义表.一张商户操作状态明细表 1)商户定义表 CREATE TABLE hope. ...

  5. MySQL中的while、repeat、loop循环

    循环一般在存储过程和存储函数中使用频繁,这里只给出最简单的示例 while delimiter $$ create procedure test_while() begin declare sum i ...

  6. mysql常见的运算符及使用

    mysql中有4类运算符,它们是: 算术运算符 比较运算符 逻辑运算符 位操作运算符 算术操作符 算术操作符是SQL中最基本的操作运算符,主要有一下几种运算符: +(加). -(减). *(乘). / ...

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

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

  8. 如何理解 MySQL 中的 <=> 操作符?

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

  9. thinkphp中的内置操作数据库与mysql中的函数汇总

    8.4.4 Model类getModelName() 获取当前Model的名称getTableName() 获取当前Model的数据表名称switchModel(type,vars=array()) ...

随机推荐

  1. AAPTEXECPTION

    Error:java.util.concurrent.ExecutionException: com.android.builder.\files-.aar\a234c5f0534a8da0e4db0 ...

  2. js版RSA算法

    // RSA, a suite of routines for performing RSA public-key computations in// JavaScript.//// Requires ...

  3. 组播协议——IGMP v2报文头介绍

    TYPE:占一个字节,其值有:0x16.0x12.0x17三种类型. Max Resp Time:最大响应时间,占一个字节. Checksum:校验和,占两个字节. Group address:组播地 ...

  4. Unity3D架构设计NavMesh寻路

    Unity3D架构设计NavMesh寻路 发表于2013年10月6日由陆泽西 国庆闲来没事把NavMesh巩固一下.以Unity3D引擎为例写一个底层c# NavMesh寻路.因为Unity3D中本身 ...

  5. [译]CQRS介绍

    以下内容均为看完原文后自己的理解.并非一字一句翻译,会尽量保持原文意思. 什么是 CQRS: CQRS 意思就是命令查询职责分离(Command Query Responsibility Segreg ...

  6. SAP 费用

    SAP在华真相:天价收费与用户之灾 SAP真的是企业实施ERP系统的最佳选择吗? 画皮SAP-世界管理软件公司的中国真相 你知道SAP吗?哦,知道,满大街都是嘛,S-P-A,SPA.做出上述回答的是一 ...

  7. Centos 7升级内核

    检查当前 CentOS 系统内核版本 uname -sr 在 CentOS 7 上启用 ELRepo 仓库 rpm --import https://www.elrepo.org/RPM-GPG-KE ...

  8. shell脚本中比较两个小数的办法

    具体情况#man bc 然而对小数进行比较的相关方法有几个: 1. 自己的解决方法,判断小数点后最多有几位数(N),然后对将要比较的两个数值进行 乘与10的N次方 也就是将小数点去掉来进行比较(小数点 ...

  9. 10.18号java课后动手动脑

    问题一结论:类如果提供了一个自定义的构造方法,将导致系统不再提供默认构造方法. 问题二结论:(1)程序运行的结果是100和300,field=200为类的初始化块,可以在类中使用“{”和“}”将语句包 ...

  10. H5前端框架推荐合集 (转)

    Ionic ionic 吧开发流程都帮你做好了,已经不再是单纯的UI框架,而是开发框架了,非常适合快速开发.基于angular2,丰富的UI组件,大大改进的编程模型, Semantic UI 中文官网 ...