mysql运算符

-- 算术运算符
-- 比较运算符
-- 逻辑运算符与位运算符

-- 算术运算符+,-,*,/,%
select -1.0+2;
select 2 / 0 ;-- 除数为0的情况,返回null
select '2' * 5;-- 运算中字符当成数字使用
select '20aa' * 5;-- 数字在前,可以转化为数字
select 'aa20' * 5;-- 数字在后,就转化为0

select * from tabledata;
select sint - intsix from tabledata;-- 可以直接计算数据库中的数字

-- 比较运算符
-- =,<>或者!=(表示不等号),>,<=>,between,in,is null,like,regexp
select 1 = 2;
select 1 = null;-- 包含null的返回null,无法运算
select 1 <=> null;-- 使用安全的比较运算符
select 'jike' = 'Jike';  -- 不区分大小写
select binary 'jike' = 'Jike'; -- binary 二进制,区分大小写
select 'jike' = 'Jike      ';-- 空格和换行符将会被忽略
select 'j' > 'k';
select 'b' between 'a' and 'C';
select  not 'd' between 'a' and 'C';
select  5 in (2,3,5,6);
select  5 in (2,3,5,6,null);
select 'jikexueyaun' = 'jike';
select 'jikexueyaun' like 'jike%';
select 'jikexueyaun' like '_ke%';-- 下划线只匹配单个字符
select 'jikexueyaun' like 'j_ke%';-- 下划线只匹配单个字符 -- 也可以是regexp/rlike
-- MySQL或者其他数据库中一般不推荐使用like,因为like需要扫描整个数据库的表,会造成性能问题;

-- 逻辑运算符与位运算符
-- not/!,and/&&,or/||,xor(异或),
select not 1;
select (4>3) and (3>5);
select (4>3) || (3>5);
select (4>3) xor (3>5);

select 9 | 4;-- 9转换成二进制1001,4二进制0100,取或,1101,为13
select 9 >>1;-- 位移4
select 9 ^ 1;-- 异或12
-- 不清楚优先级的情况下,尽量使用括号来保证优先















猜你喜欢

转载自blog.csdn.net/hhyiyuanyu/article/details/80977671
今日推荐