现实生活中比较无处不在,MySQL作为一类关系型数据库,存储的是现实世界进行抽象的数据,提供比较运算符是必然的。
这里我肤浅地分享下自己了解的12类MySQL比较运算符。
工具/原料
MySQL 5.7
win10电脑
操作方法
首先用表格的方式罗列出MySQL的12类比较运算符。
21、等于运算符=
“=”是用来判断数字、字符串和表达式是否相等,如果相等,返回值为,否则返回值为0。
如select 5=6,'9'=9,668=668,'luo'='luo',(2*3)=(4*5),=,0=;
【结论】
1)若有一个两个操作数为,比较运算的结果就是;
2)若同一个比较运算符中两个操作数都是字符串,则按照字符串进行比较;
3)若同一个比较运算符中两个操作数都是数值,则按照数值进行比较;
4)若是一个数值和一个字符串进行比较,则MySQL自动将字符串转化为数值;
5)不管何种情况,“=”比较返回的确实只有1、0与三类值。
32、安全等于运算符<=>
“<=>”运算符在具备“=”所有功能的基础上增加了判断值的功能。
【结论】
1)“<=>”运算符确实具备“=”所有功能,返回值也是1、0与;
2)当两个操作数均为时,“<=>”运算符返回的结果为1,而不是;
3)当只有一个操作数为时,“<=>”运算符返回的结果也不是而是0。
案例及效果见图
43、不等于运算符<>或!=
1)“<>”或“!=”运算符也是可以用于数字、字符串与表达式的判断;
2)其比较逻辑与“=”相反,但返回值也是1、0与。
54、小于或等于运算符<=
1)“<=”运算符也是可以用于数字、字符串与表达式的判断;
2)其逻辑判断左边的操作数是否小于右边的操作数,如果是则返回1,否则返回0;
3)针对含有的操作数则好不犹豫地返回。
65、小于运算符<
6、大于或等于运算符>=
7、大于运算符>
这三类运算符与上面的“<=”逻辑一致,大家可以自己去分析其过程并得到结论。
78、IS (IS)、IS NOT 运算符
1)这类比较运算符是用来判断数字、字符、表达式结果是否为;
2)返回的结果值有1、0,没有;
3)IS (IS)与IS NOT 返回的值相反。
89、BETWEEN AND运算符
其语法格式为“expr BETWEEN min AND max”。
1)这类比较运算符是用来判断数字、字符、表达式结果是否为;
2)返回的结果值有1、0与;
3)等同于min <= expr <=max,即包含上下限的值。
910、IN与NOT IN运算符
1)这类比较运算符是用来判断数字、字符、表达式结果是否为;
2)返回的结果值有1、0与;
3)IN用来判断操作数是否为IN列表中的一个值,如果是则返回1,否则返回0,对于则返回。
NOT IN则于IN相反。
1011、LIKE运算符
其语法格式为“expr LIKE 匹配条件”。
1)LIKE运算符用于匹配字符串;
2)返回的结果值有1、0与;
3)包含两种通配符。
“%”匹配任何字符,甚至包括零字符;“_”只能匹配一个字符。
1112、REGEXP运算符
REGEXP是LIKE的逆运算。
语法格式类似“expr REGEXP 匹配条件”。
只是其包含的通配符更多。
1)^匹配以该字符后面的字符开头的字符串;
2)$匹配以该字符后面的字符结尾的字符串;
3).匹配任何一个单字符;
4)[···]匹配方括号内的任何字符;
5)*匹配零个或多个在它前面的字符。

总结
1、MySQL支持的比较运算符有12类;2、一个比较运算符的结果总是1、0或;3、只有“”才支持的比较,其他对有操作数时返回的结果就是。








