| 操作符 | 語法 | 含義 |
|---|---|---|
| + | a + b | 相加 |
| - | a - b | 相減 |
| - | -a | 取負值 |
| * | a * b | 乘法 |
| / | a / b | 除法 |
| % | a % b | 取餘(模運算) |
| 操作符 | 語法 | 含義 |
|---|---|---|
| AND / && | a AND b | 邏輯與:兩操作數均真才為真 |
| OR / || | a OR b | 邏輯或:至少一真即為真 |
| XOR | a XOR b | 邏輯異或:有且僅有一真為真 |
| NOT / ! | NOT a | 邏輯非:假變真,真變假 |
注意:MySQL 中邏輯運算結果為 1(真)、0(假)或 NULL。
| 操作符 | 語法 | 含義 |
|---|---|---|
| & | a & b | 按位與 |
| | | a | b | 按位或 |
| ^ | a ^ b | 按位異或 |
| << | a << b | 左移 b 位 |
| >> | a >> b | 右移 b 位 |
| 操作符 | 語法 | 含義 |
|---|---|---|
| = | a = b | 相等 |
| <=> | a <=> b | 安全相等(可比較 NULL) |
| != / <> | a != b | 不相等 |
| < / <= / > / >= | a < b | 大小比較 |
| IN | a IN (...) | 在列表中 |
| BETWEEN | a BETWEEN b AND c | 範圍內(含邊界) |
| LIKE | a LIKE b | 模式匹配(% 任意字符,_ 單字符) |
| REGEXP / RLIKE | a REGEXP b | 正則表達式匹配 |
| IS NULL / IS NOT NULL | a IS NULL | 空值判斷 |
LIKE 大小寫敏感性:默認不區分大小寫(取決於字符集校對規則),二進制字符串或 BINARY 關鍵字可強制區分。
BINARY, COLLATE NOT, ! ^ XOR - (一元負號), ~ (一元取反) *, /, % +, - <<, >> & | <, <=, =, <=>, !=, <>, >=, >, IN, IS, LIKE, REGEXP, RLIKE BETWEEN, CASE, WHEN, THEN, ELSE AND, && OR, || := (賦值)
建議:複雜表達式顯式使用括號,避免優先級誤解導致邏輯錯誤。
MySQL 根據上下文自動轉換數據類型:
SELECT 1 + '2'; -- 3 (字符串 '2' 轉為數字 2) SELECT 1 + 'abc'; -- 1 (非數字字符串轉為 0)
字符串/數字可自動轉為 DATE/DATETIME/TIME,格式需符合 YYYY-MM-DD、YYYY-MM-DD HH:MM:SS 等標準格式。
SHOW WARNINGS 捕獲轉換警告。CAST()、CONVERT() 明確指定目標類型,提升代碼可讀性與可移植性。