您的位置:首页 > 数据库 > MySQL

MYSQL运算符

2016-07-09 18:20 525 查看
MYSQL运算符

算术运算符



1.除法运算和求余运算中,x2不能为0或者NULL,否则运算结果为空。在进行算术运算时,应注x2参数值的合法性。

eg:



比较运算符(看是否符合条件)

1.运算符‘=’

用来判断数字,字符串,表达式等是否相等,相等返回1,不相等返回0,不能用与对NULL值的判断。

当用来判断两个字符时,是根据字符的ascll码。

eg:





2.运算符‘!=’和‘<>’

用来判断数字,字符串,表达式等是否不相等,不相等返回1,相等返回0,也不能用与对NULL值的判断。

eg:


3.运算符’<=>’

作用和‘=’ 一样,用来判断操作符是否相等,不过这个可以用来判断NULL值。’<=>’可以实现‘=’的所有功能,但一般不用<=>

eg:



4.运算符‘>’

当左操作符大于右操作符时,返回1,否则返回0.不能用与对NULL值的比较。

当判断一个字符串是否相等时,先判断第一个字符,如果第一个字符相等再判断下一个字符,直到比较出结果。

eg:



5.运算符‘>=’

当左操作符大于等于右操作符时,返回1,否则返回0.不能用与对NULL值的比较。

eg:



6.运算符‘<’

当左操作符小于右操作符时,返回1,否则返回0.不能用与对NULL值的比较。

eg:



7.运算符’<=’

当左操作符小于等于右操作符时,返回1,否则返回0.不能用与对NULL值的比较。

eg:


8.运算符‘IS NULL’

若操作数为空值,返回1,否则返回0.

eg:



当使用 > ,<, !=,<>,=,>=,<=等操作符时不能用于对NULL值操作,因此要对空值操作,必须使用<=>或is not null,is null

NULL 和’NULL‘是不一样的,后者表示一个由字符组成的字符串。

9.运算符‘between and’

判断操作数是否在某个取值范围内,在范围内返回1否则返回0

eg:



10.运算符’In’

判断操作数是否在某个集合中。是返回1否则返回0

eg:



11.运算符 ‘like’

匹配字符串成功,则返回1,否则返回0

eg:



12.运算符 regexp

使用正则表达式匹配字符串,如果匹配成功返回1,否则返回0

eg:



beijing以‘b’开头,以‘g’结尾,返回1,由于beijing中不包含‘y’,所以返回0

逻辑运算符(判断真假)

表达式为真,返回1,表达式为假,返回0;

1.与运算

&& 或者 AND表示与运算。所有操作数不为0且不为NULL时,返回1,有一个为0则返回0.有一个为空则返回NULL.负数和大于0的数都等价为1.

形式: A && B && C && D

eg:



2.或运算

|| 或者 or 表示或运算。所有操作数只要有存在任何一个不为0或NULL时,返回1。

形式: A || B || C || D

eg:


3.非运算符

! 或 not表示非运算符。通过该运算符返回与操作数相反的结果。如果操作数为0,返回值为1,如果操作数为1,返回值为 0.如果操作数为NULL,返回值为NULL.

非运算符的操作数只有一个,形式 !A.

eg:


4.异或运算符

XOR表示异或运算符。当操作数中有一个为NULL,返回值为NULL,当操作数都为0或者都为1,返回值为0,当操作数有一个为0或为1时,返回值为1.

形式:A XOR B XOR C XOR D .当有多个操作数时,从左往右依次运算。

在进行异或运算时,所有大于-1小于1的数,都被认为是逻辑数字0,其他被认为是1.

逻辑相同返回0,逻辑不同返回1

eg:


位运算符*(在二进制数上进行计算的运算符,先将操作数变成二进制,再进行位运算)*

位运算符的操作数必须是十进制,否则计算结果是错误的,十进制和二进制的转换是由数据库系统实现的。使用CONV()函数将操作数可转化为十进制。

1.按位与(&)

将其他进制的数换为二进制,1和1得1,0和0得0.1和0得0.运算完之后再转换为原来的进制。

eg:


2.按位或(|)

将其他进制的数换为二进制,1和任何得1,0和0得0.运算完之后再转换为原来的进制。

eg:



3.按位取反(~)

将其他进制的数换为二进制,1变为0,0变为1.运算完之后再转换为原来的进制。

使用bin()函数可以查看二进制数。

eg:





4.按位异或(^)

将其他进制的数换为二进制,相同的数异或为0.不同的数异或为1.运算完之后再转换为原来的进制。

eg:



5.按位左移(<<)按位右移(>>)

将其他进制的数换为二进制,m << n 表示m左移n位,右边补0;

m >> n 表示m右移n位。左边补0.被移出的直接丢弃。运算完之后再转换为原来的进制。



运算符的优先级

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: