| 函數 | 說明 |
|---|---|
| LENGTH(str) | 返回字串位元組長度 |
| CHAR_LENGTH(str) | 返回字元數(多位元組字元算 1) |
| CONCAT(s1,s2,...) | 拼接字串,任一參數為 NULL 結果為 NULL |
| CONCAT_WS(sep, s1,s2,...) | 以 sep 分隔拼接,自動跳過 NULL |
| TRIM([BOTH|LEADING|TRAILING] remstr FROM str) | 去除首尾指定字元(預設空格) |
| LEFT(str, len), RIGHT(str, len) | 取左/右側指定長度子串 |
| SUBSTRING(str, pos, len) | 截取子串,支援負位置 |
| REPLACE(str, from_str, to_str) | 替換所有出現的子串 |
| LOCATE(substr, str), INSTR(str, substr) | 查找子串首次出現位置 |
| LOWER(str), UPPER(str) | 大小寫轉換 |
| 函數 | 說明 |
|---|---|
| ABS(x) | 絕對值 |
| CEIL(x), FLOOR(x) | 向上/向下取整 |
| ROUND(x, d) | 四捨五入保留 d 位小數 |
| TRUNCATE(x, d) | 截斷保留 d 位小數(不四捨五入) |
| MOD(x, y), x % y | 取模(餘數) |
| POW(x, y), POWER(x, y) | 冪運算 |
| SQRT(x) | 平方根 |
| RAND([seed]) | 隨機數 0~1,可指定種子 |
| SIGN(x) | 符號:正負零返回 1/-1/0 |
| 函數 | 說明 |
|---|---|
| NOW(), SYSDATE() | 當前日期時間 |
| CURDATE(), CURTIME() | 當前日期/時間 |
| DATE(expr), TIME(expr) | 提取日期/時間部分 |
| YEAR(), MONTH(), DAY(), HOUR(), MINUTE(), SECOND() | 提取各部分 |
| DATE_FORMAT(date, fmt) | 按格式字串輸出日期(如 %Y-%m-%d) |
| STR_TO_DATE(str, fmt) | 字串按格式解析為日期 |
| DATE_ADD(date, INTERVAL expr unit) | 日期加減(unit: DAY, MONTH, YEAR 等) |
| DATEDIFF(date1, date2) | 兩日期相差天數 |
| TIMESTAMPDIFF(unit, dt1, dt2) | 指定單位的時間差 |
| WEEK(date, mode), WEEKDAY(date) | 週數、週幾(0=Monday) |
| LAST_DAY(date) | 該月最後一天 |
COUNT(expr)、SUM(expr)、AVG(expr)、MIN(expr)、MAX(expr)GROUP_CONCAT(expr [ORDER BY ...] SEPARATOR ','):分組拼接字串STDDEV(expr)、VARIANCE(expr):標準差/方差MD5(str)、SHA1(str)、SHA2(str, 256/512)、PASSWORD(str)(已棄用)VERSION()、USER()、CURRENT_USER()、DATABASE()、CONNECTION_ID()、LAST_INSERT_ID()、FOUND_ROWS()IF(condition, true_val, false_val)CASE WHEN cond1 THEN val1 ... ELSE def_val END(搜尋式)CASE expr WHEN val1 THEN res1 ... ELSE def END(簡單式)IFNULL(expr1, expr2)、COALESCE(val1, val2, ...)、NULLIF(expr1, expr2)CAST(expr AS type)、CONVERT(expr, type),type 可為:BINARY, CHAR, DATE, DATETIME, TIME, DECIMAL, SIGNED, UNSIGNED 等。