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; /* 位运算符,就是将操作数转化为二进制数后,对每一位都进行逻辑运算,得到的二进制结果再转换为十进制。运算使用的是二进制的补码 & 位与 | 位或 ^ 位异或 ~ 位取反 >> 位左移 << 位右移 */