運算符
1.算數運算符
- 加(+):mysql> SELECT 1+1;
- 減(-):mysql> SELECT 3-2;
- 乘(*):mysql> SELECT 2*3;
- 除(/):mysql> SELECT 5/3;
- 商(DIV):mysql> SELECT 5 DIV 2;
- 模(%或MOD()):mysql> SELECT 5%2 或 mysql> SELECT MOD(5,2);
2.比較運算符
- 等於(=):mysql> SELECT 1=0;
- 不等於(!=或<>):mysql> SELECT 1<>0;
- 安全等於(<=>):mysql> SELECT 1<=>1;
- 小於(<):mysql> SELECT ‘a’<’b’;
- 小於等於(<=):mysql> SELECT ‘abc’<=’a’;
- 大於(>):mysql> SELECT ‘a’>’b’;
- 大於等於(>=):mysql> SELECT ‘a’>=’b’;
- BETWEEN:mysql> SELECT 10 between 10 and 20;
- IN:mysql> SELECT 1 in (1,2,3);
- IS NULL:mysql> SELECT 0 IS NULL;
- IS NOT NULL:mysql> SELECT 0 IS NOT NULL;
- LIKE:mysql> SELECT 123456 LIKE ‘123%’;
- REGEXP:mysql> SELECT ‘abcdef’ REGEXP ‘ab’;
3.邏輯運算符
非(NOT 或 !):
mysql> SELECT NOT 0,NOT 1,NOT NULL;
mysql> SELECT !0, !1, !NULL;與(AND 或 &&):
mysql> SELECT (1 AND 1), (0 AND 1), (3 AND 1), (1 AND NULL);
mysql> SELECT (1 && 1), (0 && 1), (3 && 1), (1 && NULL);或(OR或 ||):
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);異或(XOR 或 ^):
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.運算符優先級順序
最高優先級:=
01. ||, OR, XOR
02. &&, AND
03. BETWEEN, CASE, WHEN, THEN, ELSE
04. =, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
05. |
06. &
07. <<, >>
08. -, +
09. *, /, DIV, %, MOD
10. ^
11. - (unary minus), ~ (unary bit inversion)
12. !, NOT
最低優先級:BINARY, COLLATE
字符函數
示例:
SUBSTRING()
說明:在程序上,字符串的編號從0開始,但在MySQL中,從1開始。[NOT] LIKE
說明:%(百分號):任意個字符;_(下划線):任意一個字符。