本人已参与「新人创作礼」活动,一起开启掘金创作之路。
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第13天,点击查看活动详情
目录
今天阿文介绍的内容:
- 比较运算符
- 比较运算符的使用
1.比较运算符
一个比较运算符的结果总是1、0或者是NULL。
MySQL中的比较运算符如表:
| 运算符 | 作用 |
|---|---|
| = | 等于 |
| <=> | 安全等于 |
| <>(!=) | 不等于 |
| <= | 小于等于 |
| >= | 大于等于 |
| < | 小于 |
> | 大于 |
1.1等于运算符(=)
等号(=)用来判断数字、字符串和表达式是否相等:如果相等,返回值为1;否则返回值为0。
在进行判断时,2=2和‘2’=2的返回值相同,都为1。因为在进行判断时,MySQL自动进行了转换,把字符‘2’转换成了数字2;‘b’=‘b’为相同的字符比较,因此返回值为1;表达式1+3和表达式2+2的结果都为4,因此结果相等,返回值为1;由于‘=’不能用于空值NULL的判断,因此返回值为NULL。
数值比较时有如下规则:
-
若有一个或两个参数为NULL,则比较运算的结果为NULL。
-
若同一个比较运算中的两个参数都是字符串,则按照字符串进行比较。
-
若两个参数均为整数,则按照整数进行比较。
-
若用字符串和数字进行相等判断,则MySQL可以自动将字符串转换为数字。
例子:
SELECT
2 = 2,
2 = '2',
"ab" = "ab",
1*3 = 1+2,
"ac" = "ab",
NULL = 0;
结果为:
1.2安全等于运算符(<=>)
这个操作符和=操作符执行相同的比较操作,不过<=>可以用来判断NULL值。在两个操作数均为NULL时,其返回值为1,而不为NULL;当一个操作数为NULL时,其返回值为0,而不为NULL。
‘<=>’在执行比较操作时和‘=’的作用是相似的,唯一的区别是‘<=>’可以用来对NULL进行判断,两者都为NULL时返回值为1。
例子:
SELECT
2 <=> 2,
2 <=> '2',
"ab" <=> "ab",
1*3 <=> 1+2,
"ac" <=> "ab",
NULL <=> 0,
NULL <=> NULL;
结果为:
1.3不等于运算符(<>或者!=)
‘<>’或者‘!=’用于判断数字、字符串、表达式不相等的判断:如果不相等,返回值为1;否则返回值为0。这两个运算符不能用于判断空值NULL。
例子:
SELECT
2 <> 2,
2 != 2,
"ab" <> "ab",
"2" != 3,
"ac" != "ab",
1*3 != 1+3,
NULL != 0;
结果为:
可以看到当比较的参数,一个为数字一个为字符串时,MySQL会将字符串转换为数字后,再进行比较。和等于运算符(=)一样
1.4小于等于运算符(<=)
‘<=’用来判断左边的操作数是否小于等于右边的操作数:如果小于等于,返回值为1;否则返回值为0。‘<=’不能用于判断空值NULL。
左边操作数小于等于右边时,返回值为1,例如4<=4;当左边操作数大于右边时,返回值为0,例如‘good’<=‘god’(‘good’第3个位置的‘o’字符在字母表中的顺序大于‘god’中第3个位置的‘d’字符,因此返回值为0);同样比较NULL值时返回NULL。
例子:
SELECT
"5" <= 7,
"5" <= "9",
"abz" <= "abcdefg",
"ab" <= "ac",
2*3 <= 3*4,
NULL <= 0;
结果为:
可以看到字符串的比较并不是比较字符串的长度,而是根据字符的ASCII码对应的值进行大小的比较
1.5小于运算符(<)
‘<’运算符用来判断左边的操作数是否小于右边的操作数:如果小于,返回值为1;否则返回值为0。‘<’不能用于判断空值NULL。
当左边操作数小于右边时,返回值为1,例如1<2;当左边操作数大于右边时,返回值为0,同样比较NULL值时返回NULL。
例子:
SELECT
"5" < 6,
"ab" < "zz",
"5" < "4",
3*2 < 6+5,
"ab" < "aB",
NULL < 0;
结果为:
1.6大于等于运算符(>=)
‘>=’运算符用来判断左边的操作数是否大于等于右边的操作数:如果大于等于,返回值为1;否则返回值为0。‘>=’不能用于判断空值NULL。 左边操作数大于等于右边时,返回值为1,例如4>=4;当左边操作数小于右边时,返回值为0,例如1>=2;同样比较NULL值时返回NULL。
例子:
SELECT
"6" >= 4,
"ab" >= "ac",
"5" >= "4",
3*2 >= 6+1,
"ab" >= "aB",
NULL >= 0;
结果为:
1.7大于运算符(>)
‘>’运算符用来判断左边的操作数是否大于右边的操作数:如果大于,返回值为1;否则返回值为0。‘>’不能用于判断空值NULL。 左边操作数大于右边时,返回值为1,例如5.5>5;左边操作数小于右边时,返回0,例如1>2;同样比较NULL值时返回NULL。
例子:
SELECT
"5" > "3",
5 > 9,
"4" > 3,
"AB" > "AC",
4+3 > 5*1,
NULL > 2;
结果为:
总结
- 7种基本比较运算符:等于、安全等于、不等于、大于等于、大于、小于等于、小于。
好的,今天阿文就介绍到这了,开溜...