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.被移出的直接丢弃。运算完之后再转换为原来的进制。
运算符的优先级
算术运算符
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.被移出的直接丢弃。运算完之后再转换为原来的进制。
运算符的优先级
相关文章推荐
- MySQL创建索引
- mysql-mmm实战安装
- Mac 配置mysql 别名 alias
- 打开MySQL数据库远程访问的权限
- MySQL移动数据库位置
- mysql开启查询日志 操作日志 错误日志 慢查询日志
- MySQL 数据库铁律
- 跟王老师学MySQL:单表查询
- 8 mysql用户和权限管理
- 7 mysql事务与隔离级别
- 6 mysql备份和还原
- 4 mysql数据类型和SQL模型
- 3 二进制格式安装mysql
- 1.1 mysql初步
- 1 mysql原理
- mysql增删改查语句
- mysql命令大全
- JDBC使用MYSQL的LOAD DATA LOACAL INFILE和LOAD DATA INFILE
- MySQL练习题
- MySQL5.6 报错1067