运算符

drop table t;
/*
mysql中的运算符
算术运算符 + - *  /,div %,mod
*/
select 0.1+0.33,0.1-0.33,0.1*0.33,1/2,5 div 2,1%2,1 mod 2;
/*
比较运算符 = <>,! <=>(null安全的等同于) < <= > >= between..and  in   is null   is not null  like(_,*通配符,字符在前代表以它开头..)  regexp,relike(正则表达式匹配)
*/
select 1=0,1=1,null=null;  -- 注意null不能用==比较
select 1<>0,1<>1,null<>null; --注意null不能用==比较
select 1<=>1,2<=>0,0<=>0,null<=>null; --这个和=差不多,区别在于可以比较null
--between使用格式为: a between min and max
--in的使用格式为 a in (value1,value2,...)
select 123456 like '123%',123456 like '%23%',123456 like '_23%',123456 like '1%6';
--regexp运算符的使用格式为: str regexp str_pat 当str字符串中含有满足str_pat相匹配的字符串的时候返回true,否则返回false
select 'abcdef' regexp 'ab','abcdef' regexp '^abc$';
/*
逻辑运算符 not,! and,&& or,|| xor
xor表示逻辑异或,当比较的两个值一个为null,返回null,否则,当两个数相等返回0,不行等返回1
*/
select 1 xor null,1 xor 0,0 xor 0;
/*
位运算符,就是将操作数转化为二进制数后,对每一位都进行逻辑运算,得到的二进制结果再转换为十进制。运算使用的是二进制的补码
& 位与  | 位或  ^ 位异或  ~ 位取反  >> 位左移  << 位右移
*/
原文地址:https://www.cnblogs.com/aigeileshei/p/5595704.html