聚合函式
函式 |
用途 |
AVG |
計算欄位的平均值 |
COUNT |
計算查詢結果的筆數 |
MAX |
取出欄位中的最大值 |
MIN |
取出欄位中的最小值 |
SUM |
計算欄位的總計 |
字串函式
函式 |
用途 |
CHAR_LENGTH |
取得字串的長度(以多字元字集方式) |
LENGTH |
取得字串的長度(bytes) |
CONCAT |
字串合併 |
GROUP_CONCAT |
將GROUP BY結果中的某個欄位內容串成一個字串 |
LEFT |
取出由左邊開始的指定長度的字串 |
RIGHT |
取出由右邊開始的指定長度的字串 |
SUBSTRING |
取出指定位置開始的指定長度的字串 |
日期/時間函式
函式 |
用途 |
CURRENT_DATE |
取出當前的系統日期 |
CURRENT_TIME |
取出當前的系統時間 |
NOW |
取出當前的系統日期及時間 |
DATEDIFF |
計算兩個日期間差距的天數 |
TIMESTAMPDIFF |
計算兩個日期時間差距的單位,可選擇要返回的數值是時間還是日期 |
YEAR |
取出日期時間格的資料中年的部份 |
MONTH |
取出日期時間格的資料中月的部份 |
DATE |
取出日期時間格的資料中日期的部份 |
HOUR |
取出日期時間格的資料中小時的部份 |
MINUTE |
取出日期時間格的資料中分鐘的部份 |
SECOND |
取出日期時間格的資料中秒的部份 |
流程控制函式
函式 |
用途 |
CASE |
類似switch case的用法 |
IF |
和if else一樣的用法 |
IFNULL |
判斷第一個參數是否為null,決定返回的值 |
CASE
case運算式有兩種用法分別是和switch..case一樣的根據一個結果來決定回傳值;另一個用法則是和if..elseif…else一樣,可以做多個條件的判斷並回傳不同的結果
1 2 3 4 5
| SELECT CASE `gender` WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '多元性別' END
|
1 2 3 4 5
| SELECT CASE WHEN `salary` <= 30000 THEN '年終一個月' WHEN `salary` > 30000 AND `salary` <=45000 THEN '年終兩個月' WHEN `salary > 45000 THEN '年終三個月' END
|
IF
1
| SELECT IF(`gender`=1,'男','女')
|
IFNULL
1
| SELECT IFNULL(`score`,0)
|