mysql 運算符


在平時的工做中, 對數據庫的操做老是會忽視mysql的一些基本的運算符, 在這裏進行一下羅列mysql

其實在運算法在不少狀況下頗有幫助, 舉一個例子來講, 定義某我的的身份狀態, 有時候會出現這樣的狀況, 他同時具備多種狀態。算法

這時候能夠採用位操做,定義 XXXXXXX (二進制)  爲該字段的表示方法, 而後經過位操做或取出相應的結果。sql

固然要是簡單的並存有時候也能夠採用 1 2  4  (5  6  7) 來進行標記。 數據庫

1.算數運算符安全


mysql> select 1+2;

mysql> select 2-1;

mysql> select 2*3;

mysql> select 5/3;

mysql> SELECT 5 DIV 2;

mysql> select 5%2,mod(5,2);

2.比較運算符
等於
mysql> select 1=0,1=1,null=null;
不等於
mysql> select 1<>0,1<>1,null<>null;
安全等於
mysql> select 1<=>1,2<=>0,0<=>0,null<=>null;
小於
mysql> select 'a'<'b','a'<'a','a'<'c',1<2;
小於等於
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;
BETWEEN
mysql> select 10 between 10 and 20, 9 between 10 and 20;
IN
mysql> select 1 in (1,2,3), 't' in ('t','a','b','l','e'), 0 in (1,2);
IS NULL
mysql> select 0 is null,null is null;
IS NOT NULL
mysql> select 0 is not null, null is not null;
LIKE
mysql> select 123456 like '123%', 123456 like '%123%', 123456 like '%321%';
REGEXP
mysql> select 'abcdef' regexp 'ab', 'abcdefg' regexp 'k';spa

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;regexp

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
 get

相關文章
相關標籤/搜索