概述
MySQL支持多种类型的运算符,这些运算符可以用来链接表达式,这些运算符包括:
- 算数运算符(+,-,*,/,%);
- 比较运算符(=,!=,<,<=,>,>=,between,in,is null,is not null,like,regexp);
- 逻辑运算符(not,and,or,xor);
- 位运算符(&,|,^,~,>>,<<);
举例
算数运算符
select 0.1+0.333,0.1-0.3333,1/2,1%2;
- 在除法和模运算中,如果除数为0,结果会返回NULL;
- 对于模运算,mod(a,b)函数与a%b效果一样。
比较运算符
#between and
SELECT 10 BETWEEN 10 AND 20,
9 BETWEEN 10 AND 20;
#like
SELECT 123456 LIKE '123%',
123456 LIKE '%123%',
123456 LIKE '%321%';
#regexp
select 'abcdef' regexp 'ab',
'abcdefg' regexp 'k';
逻辑运算符
#not
select not 0,not 1,not null;
#and
select (1 and 1),(0 and 1),(3 and 1),(1 and null);
#or,xor(异或)同上使用
位运算符
select 2&3,2&3&4,2|3,2^3,~1;
- 位运算是将给定的操作数转化为二进制之后,对各个操作数每一位进行指定的逻辑运算。
- 解释:&-位与,|-位或,^-位异或,~-位取反,>>-位右移,<<-位左移。
运算符的优先级
仍一张图作为总结:
- 在实际应用中,都是用“( )”来将需要优先的操作括起来,这样既起到了优先作用,又使得其他用户看起来更易于理解。