mysql> select 'a'小于等于mysql> select 'bdf'<='b','b'<='b',0<1;大于mysql> select 'a'>'b','abc'>'a',1>0;大于等于mysql> select 'a'>='b','abc'>='a',1>=0,1>=1;BETWEENmysql> select 10 between 10 and 20, 9 between 10 and 20;INmysql> select 1 in (1,2,3), 't' in ('t','a','b','l','e'), 0 in (1,2);IS NULLmysql> select 0 is null,null is null;IS NOT NULLmysql> select 0 is not null, null is not null;LIKEmysql> select 123456 like '123%', 123456 like '%123%', 123456 like '%321%';REGEXPmysql> select 'abcdef' regexp 'ab', 'abcdefg' regexp 'k';3.逻辑运算符非mysql> select not 0, not 1, not null;mysql> select ! 0, ! 1, ! null;与mysql> select (1 and 1), (0 and 1), (3 and 1), (1 and null);mysql> select (1 && 1), (0 && 1), (3 && 1), (1 && null);或mysql> select (1 or 0), (0 or 0), (1 or null), (1 or 1), (null or null);mysql> select (1 || 0), (0 || 0), (1 || null), (1 || 1), (null || null);异或mysql> select (1 xor 1), (0 xor 0), (1 xor 0), (0 xor 1), (null xor 1);
mysql> select (1 ^ 1), (0 ^ 0), (1 ^ 0), (0 ^ 1), (null ^ 1);4.位运算符位与mysql> select 2&3;mysql> select 2&3&4;位或mysql> select 2|3;位异或mysql> select 2^3;位取反mysql> select ~1,~18446744073709551614;位右移mysql> select 100>>3;位左移mysql> select 100<<3;5.运算符优先级顺序最高优先级 :=
1 ||, OR, XOR
2 &&, AND
3 BETWEEN, CASE, WHEN, THEN, ELSE
4 =, <=>, >=, >, <=, , !=, IS, LIKE, REGEXP, IN
5 |
6 &
7 <>
8 -, +
9 *, /, DIV, %, MOD
10 ^
11 - (unary minus), ~ (unary bit inversion)
12 !, NOT
最低优先级 BINARY, COLLATE好运。
-- The End --