算术运算符
加+ 减- 乘* 除/或div 取余%或mod
select 1+2;
select 4/2; 或 select 4 div 2;
select 10%4; 或 select 10 mod 4;
比较运算符
为真返回1, 为假返回0, 不确定返回null
=等于
<>,!=不等于
>大于
<小于
>=大于等于
<=小于等于
between在两值之间,相当于>=min&&<=max
例:select 5 between 1 and 10;
not between不在两值之间
in在集合中
例:select 5 in(1,2,3,4,5);
not in不在集合中
<=>安全等于(1=null和null=null返回null,1<=>null返回0,null<=>null返回1)
like模糊匹配
例:select ‘12345’ like ‘12%’;返回1 select ‘12345’ like ‘12_’;返回0
regexp或rlike正则式匹配
例:select ‘beijing’ regexp ‘jing’;返回1 select ‘beijing’ regexp ‘xi’;返回0
is null为空
例:select null is null; 返回1
判断值是否为空时不能用=,应该用is null
is not null不为空
逻辑运算符
not,! 逻辑非
and,&& 逻辑与
or,|| 逻辑或
xor 逻辑异或
位运算符
&与
对应的二进制位都为 1 ,则该位的运算结果为 1 ,否则为 0
| 或
对应的二进制位有一个或两个为 1 ,则该位的运算结果为 1 ,否则为 0
^ 异或
对应的二进制位不相同时,结果为 1 ,否则为 0
~ 取反
将对应的二进制数逐位反转,即 1 取反后变 0 , 0 取反后变 1
<<左移
使指定的二进制位都左移指定的位数,左移指定位之后,左边高位的数值将被移出并丢弃,右边低位空出的位置用 0 补齐
>>右移
使指定的二进制位都右移指定的位数,右移指定位之后,右边低位的数值将被移出并丢弃,左边高位空出的职位用 0 补齐
分配运算符 :=
select @a := 1;
注:一个@代表自定义变量,两个@代表系统变量,:=指赋值,在set语句中=也可以代表赋值。