⼿把⼿教你MySQL运算符
⽬录
⼀、算术运算符
⼆、⽐较运算符
三、逻辑运算符
四、位运算符
五、运算符的优先级
总结
⼀、算术运算符
主要⽤于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进⾏加(+)、减(-)、乘(*)、除(/)和取模(%)运算1.加法与减法运算符
⼀个整数类型的值对整数进⾏加法和减法操作,结果还是⼀个整数
⼀个整数类型的值对浮点数进⾏加法和减法操作,结果是⼀个浮点数
在Java中,+的左右两边如果有字符串,那么表⽰字符串的拼接。但是在MySQL中+只表⽰数
值相加。如果遇到⾮数值类型,先尝试转成数值,如果转失败,就按0计算
2.乘法与除法运算符
⼀个数乘以整数1和除以整数1后仍得原数
⼀个数除以整数后,不管是否能除尽,结果都为⼀个浮点数
⼀个数除以另⼀个数,除不尽时,结果为⼀个浮点数,并保留到⼩数点后4位
乘法和除法的优先级相同,进⾏先乘后除操作与先除后乘操作,得出的结果相同
在数学运算中,0不能⽤作除数,在MySQL中,⼀个数除以0为NULL
3、求模(求余)运算符
#筛选出employee_id是偶数的员⼯
SELECT * FROM employees
WHERE employee_id MOD 2 = 0;
⼆、⽐较运算符
⽤来对表达式左边的操作数和右边的操作数进⾏⽐较,⽐较的结果为真则返回1,⽐较的结果
为假则返回0,其他情况则返回NULL
⽐较运算符经常被⽤来作为SELECT查询语句的条件来使⽤,返回符合条件的结果记录
4.等号运算符
等号运算符(=)判断等号两边的值、字符串或表达式是否相等,若相等则返回1,不相等则返回0
在使⽤等号运算符时,遵循如下规则
○如果等号两边的值、字符串或表达式都为字符串,则MySQL会按照字符串进⾏⽐较,其⽐较的是每个字符串中字符的ANSI编码是否相等
○如果等号两边的值⼀个是整数,另⼀个是字符串,则MySQL会将字符串转化为数字进⾏⽐较
○如果等号两边的值、字符串或表达式中有⼀个为NULL,则⽐较结果为NULL
5.安全等于运算符
安全等于运算符(<=>)与等于运算符(=)的作⽤是相似的,唯⼀的区别是‘<=>’可以⽤来对NULL进⾏判断。在两个操作数均为NULL时,其返回值为1,⽽不为NULL;当⼀个操作数为NULL时,其返回值为0,⽽不为NULL
6.不等于运算符
不等于运算符(<>和!=)⽤于判断两边的数字、字符串或者表达式的值是否不相等,如果不相等则返回1,相等则返回0 ⾮符号类型的运算符
7. 空运算符
IS NULL
判断⼀个值是否为NULL,如果为NULL则返回1,否则返回0
8. ⾮空运算符
IS NOT NULL
判断⼀个值是否不为NULL,如果不为NULL则返回1,否则返回0
9. 最⼩值运算符
语法格式为:LEAST(值1,值2,...,值n)其中,“值n”表⽰参数列表中有n个值
在有两个或多个参数的情况下,返回最⼩值
注:当参数是整数或者浮点数时,LEAST将返回其中最⼩的值;当参数为字符串时,返回字
母表中顺序最靠前的字符;当⽐较值列表中有NULL时,不能判断⼤⼩,返回值为NULL
10.最⼤值运算符
语法格式为:GREATEST(值1,值2,...,值n)其中,n表⽰参数列表中有n个值
in运算符的含义当有两个或多个参数时,返回值为最⼤值。假如任意⼀个⾃变量为NULL,则GREATEST()的返回值为NULL
11.BETWEEN AND运算符
BETWEEN运算符使⽤的格式
通常为SELECT D FROM TABLE WHERE C BETWEEN A AND B
此时,当C⼤于或等于A,并且C⼩于或等于B时,结果为1,否则结果为0
12.IN运算符
IN运算符⽤于判断给定的值是否是IN列表中的⼀个值,如果是则返回1,否则返回0
如果给定的值为NULL,或者IN列表中存在NULL,则结果为NULL
13.NOT IN运算符
NOT IN运算符⽤于判断给定的值是否不是IN列表中的⼀个值,如果不是IN列表中的⼀个值,则返回1,否则返回0
14.LIKE运算符
LIKE运算符主要⽤来匹配字符串,通常⽤于模糊匹配,如果满⾜条件则返回1,否则返回0
如果给定的值或者匹配条件为NULL,则返回结果为NULL
15.ESCAPE
回避特殊符号的:使⽤转义符
SELECT job_id
FROM jobs
WHERE job_id LIKE ‘IT\_%‘;
如果使⽤ \表⽰转义,要省略 ESCAPE。如果不是\,则要加上ESCAPE
SELECT job_id
FROM jobs
WHERE job_id LIKE ‘IT$_%‘ escape ‘$‘;
16.REGEXP运算符
REGEXP运算符⽤来匹配字符串,语法格式为: expr REGEXP 匹配条件
如果expr满⾜匹配条件,返回1;如果不满⾜,则返回0
REGEXP运算符在进⾏匹配时,常⽤的有下⾯⼏种通配符:
(1)‘^’匹配以该字符后⾯的字符开头的字符串。
(2)‘$’匹配以该字符前⾯的字符结尾的字符串。
(3)‘.’匹配任何⼀个单字符。
(4)“[...]”匹配在⽅括号内的任何字符。例如,“[abc]”匹配“a”或“b”或“c”。为了命名字符的范围,使⽤⼀
个‘-’。“[a-z]”匹配任何字母,⽽“[0-9]”匹配任何数字。
(5)‘*’匹配零个或多个在它前⾯的字符。例如,“x*”匹配任何数量的‘x’字符,“[0-9]*”匹配任何数量的数字,
⽽“*”匹配任何数量的任何字符。
三、逻辑运算符
主要⽤来判断表达式的真假
1.逻辑⾮运算符
逻辑⾮(NOT或!)运算符表⽰当给定的值为0时返回1;当给定的值为⾮0值时返回0;当给定的值为NULL时,返回NULL逻辑与运算符
逻辑与(AND或&&)运算符是当给定的所有值均为⾮0值,并且都不为NULL时,返回1;当给定的⼀个值或者多个值为0时则返回0;否则返回NULL
2.逻辑或运算符
逻辑或(OR或||)运算符是当给定的值都不为NULL,并且任何⼀个值为⾮0值时,则返回1,否则返回0;当⼀个值为NULL,并且另⼀个值为⾮0值时,返回1,否则返回NULL;当两个值都为NULL时,返回NULL
注:OR可以和AND⼀起使⽤,但是AND的优先级⾼于OR
3.逻辑异或运算符
逻辑异或(XOR)运算符是当给定的值中任意⼀个值为NULL时,则返回NULL;如果两个⾮NULL的值都是0或者都不等于0时,则返回0;如果⼀个值为0,另⼀个值不为0时,则返回1
四、位运算符
位运算符是在⼆进制数上进⾏计算的运算符
1.按位与运算符
按位与(&)运算符将给定值对应的⼆进制数逐位进⾏逻辑与运算。当给定值对应的⼆进制位的数值都为1时,则该位返回1,否则返回0
2.按位或运算符
按位或(|)运算符将给定的值对应的⼆进制数逐位进⾏逻辑或运算。当给定值对应的⼆进制位的数值有⼀个或两个为1时,则该位返回1,否则返回0 3.按位异或运算符
按位异或(^)运算符将给定的值对应的⼆进制数逐位进⾏逻辑异或运算。当给定值对应的⼆进制位的数值不同时,则该位返回1,否则返回0
4.按位取反运算符
按位取反(~)运算符将给定的值的⼆进制数逐位进⾏取反操作,即将1变为0,将0变为1
5.按位左移运算符
按位左移(<<)运算符将给定的值的⼆进制数的所有位左移指定的位数
左移指定的位数后,左边⾼位的数值被移出并丢弃,右边低位空出的位置⽤0补齐
五、运算符的优先级
总结
到此这篇关于MySQL运算符的⽂章就介绍到这了,更多相关MySQL运算符内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论