MySQL 函數大全速查手冊:數學、字串、日期時間、條件判斷、系統資訊、加密與其他分類匯總
MySQL 內建數百函數,本文按功能分類整理最常用函數簽名與說明,方便開發隨時查閱。
數學函數
| 函數 | 說明 |
| ABS(x) | 絕對值 |
| PI() | 圓周率(6 位小數) |
| SQRT(x) | 平方根(x≥0) |
| MOD(x,y) | 餘數 |
| CEIL(x)/CEILING(x) | ≥x 的最小整數 |
| FLOOR(x) | ≤x 的最大整數 |
| ROUND(x [,y]) | 四捨五入,y 為小數位(負數向左) |
| SIGN(x) | 符號:-1/0/1 |
| POW(x,y)/POWER(x,y) | x 的 y 次方 |
| EXP(x) | e^x |
| LOG(x) | 自然對數 |
| LOG10(x) | 以 10 為底對數 |
| RADIANS(x) | 角度轉弧度 |
| DEGREES(x) | 弧度轉角度 |
| SIN/ASIN, COS/ACOS, TAN/ATAN, COT | 三角/反三角函數 |
字串函數
| 函數 | 說明 |
| CHAR_LENGTH(str) | 字元數 |
| CONCAT(s1,s2,...) | 拼接,任一 NULL 則回 NULL |
| CONCAT_WS(sep,s1,s2...) | 帶分隔符拼接 |
| INSERT(s1,pos,len,s2) | 替換子串 |
| LOWER/LCASE, UPPER/UCASE | 大小寫轉換 |
| LEFT(s,n), RIGHT(s,n) | 左/右 n 字元 |
| LPAD/RPAD(s1,len,s2) | 左/右填充至長度 |
| LTRIM/RTRIM/TRIM | 去除空格/指定字串 |
| REPEAT(s,n) | 重複 n 次 |
| SPACE(n) | n 個空格 |
| REPLACE(s,s1,s2) | 全部替換 |
| STRCMP(s1,s2) | 比較:0 相等,-1/1 |
| SUBSTRING/MID(s,pos,len) | 截取子串 |
| LOCATE/POSITION/INSTR | 子串位置(從 1 起) |
| REVERSE(s) | 反轉字串 |
| ELT(N,str1,str2...) | 取第 N 個字串 |
日期時間函數
| 函數 | 說明 |
| CURDATE()/CURRENT_DATE() | 當前日期 |
| NOW()/SYSDATE()/CURRENT_TIMESTAMP()/LOCALTIME() | 當前日期時間 |
| UNIX_TIMESTAMP([date]) | 1970 至今秒數 / 指定時間秒數 |
| FROM_UNIXTIME(ts) | 時間戳轉日期時間 |
| UTC_DATE()/UTC_TIME() | UTC 日期/時間 |
| MONTH(date), MONTHNAME(date) | 月份數字/名稱 |
| DAYNAME/DAYOFWEEK/WEEKDAY | 星期名/索引(1=週日/0=週一) |
| WEEK(date), WEEKOFYEAR(date) | 第幾週 |
| DAYOFYEAR, DAYOFMONTH | 年中/月第幾天 |
| YEAR, QUARTER, MINUTE, SECOND | 年/季/分/秒 |
| EXTRACT(type FROM date) | 提取部分:YEAR_MONTH 等 |
| TIME_TO_SEC, SEC_TO_TIME | 時間↔秒數互轉 |
| DATE_ADD/ADDDATE(date, INTERVAL expr type) | 日期加法 |
| DATE_SUB/SUBDATE(date, INTERVAL expr type) | 日期減法 |
| ADDTIME/SUBTIME | 時間加減 |
INTERVAL type 值:MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR, SECOND_MICROSECOND, MINUTE_MICROSECOND, MINUTE_SECOND, HOUR_MICROSECOND, HOUR_SECOND, HOUR_MINUTE, DAY_MICROSECOND, DAY_SECOND, DAY_MINUTE, DAY_HOUR, YEAR_MONTH
條件判斷函數
| 函數 | 說明 |
| IF(expr, v1, v2) | expr 真回 v1 假回 v2 |
| IFNULL(v1, v2) | v1 非 NULL 回 v1 否則 v2 |
| CASE expr WHEN v1 THEN r1 ... ELSE rn END | 多條件分支 |
系統資訊函數
| 函數 | 說明 |
| VERSION() | MySQL 版本 |
| CONNECTION_ID() | 當前連線 ID |
| USER()/CURRENT_USER()/SYSTEM_USER()/SESSION_USER() | 當前認證用戶@主機 |
| CHARSET(str) | 字串字符集 |
| COLLATION(str) | 字串排序規則 |
加密函數
| 函數 | 說明 |
| PASSWORD(str) | MySQL 內部單向加密(僅供認證系統) |
| MD5(str) | 128-bit 十六進制雜湊 |
| ENCODE(str, pwd) | 對稱加密 |
| DECODE(crypt, pwd) | 對稱解密 |
其他實用函數
| 函數 | 說明 |
| FORMAT(x,n) | 數字格式化,保留 n 位小數,回字串 |
| CONV(N, from_base, to_base) | 進制轉換(2~36) |
| INET_ATON(ip) | IPv4/6 字串轉整數 |
| INET_NTOA(num) | 整數轉 IP 字串 |
| BENCHMARK(count, expr) | 重複執行測效能,回 0 |
| CONVERT(str USING charset) | 字串字符集轉換 |
收藏備查,開發不再查文檔。