系統整理 MySQL 最常用的內建函數與運算符,含實測範例,適合開發時快速查閱。
| 函數 | 說明 | 範例 | 結果 |
|---|---|---|---|
| CONCAT(s1,s2...) | 字串連接 | CONCAT('imooc','-','MySQL') | imooc-MySQL |
| CONCAT_WS(sep,s1,s2...) | 指定分隔符連接 | CONCAT_WS('-',id,name) | 1-Tom |
| FORMAT(num,dec) | 數字格式化(千分位) | FORMAT(234234.23423,2) | 234,234.23 |
| LOWER/UPPER(str) | 大小寫轉換 | UPPER(LEFT('andy',1)) | A |
| LEFT/RIGHT(str,len) | 取左/右 n 字元 | LEFT('MySQL',2) | My |
| LENGTH(str) | 字串位元組長度 | LENGTH('abc') | 3 |
| LTRIM/RTRIM/TRIM(str) | 去除空白/指定字元 | TRIM(BOTH '!' FROM '!!!ANDY!!') | ANDY |
| REPLACE(str,old,new) | 字串替換 | REPLACE('a!b','!','-') | a-b |
| SUBSTRING(str,pos,len) | 子字串(位置從 1 起算) | SUBSTRING('MySQL',1,2) | My |
%:任意長度字元(如 LIKE '%m%')_:單一字元(如 LIKE '_om')| 函數 | 說明 | 範例 |
|---|---|---|
| CEIL(x) | 向上取整 | CEIL(1.2) → 2 |
| FLOOR(x) | 向下取整 | FLOOR(1.8) → 1 |
| DIV / MOD | 整除 / 餘數 | 10 DIV 3 → 3, 10 MOD 3 → 1 |
| POWER(x,y) | 冪運算 | POWER(2,3) → 8 |
| ROUND(x,d) | 四捨五入 | ROUND(1.234,2) → 1.23 |
| TRUNCATE(x,d) | 截斷不捨入 | TRUNCATE(1.239,2) → 1.23 |
| 函數 | 說明 | 範例 |
|---|---|---|
| NOW() | 當前日期時間 | 2024-01-15 10:30:00 |
| CURDATE() / CURTIME() | 當前日期 / 時間 | 2024-01-15 / 10:30:00 |
| DATE_ADD(date, INTERVAL n UNIT) | 日期加減 | DATE_ADD('2024-01-01', INTERVAL 30 DAY) |
| DATEDIFF(d1,d2) | 兩日期天數差 | DATEDIFF('2024-02-01','2024-01-01') → 31 |
| DATE_FORMAT(date, fmt) | 日期格式化 | DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s') |
常用格式符:%Y年 %m月 %d日 %H時(24) %i分 %s秒
USER()、VERSION()、DATABASE()、CONNECTION_ID()、LAST_INSERT_ID()AVG()、COUNT()、MAX()、MIN()、SUM() —— 單一回傳值,針對欄位運算MD5(str):32 位十六進位,Web 常用PASSWORD(str):MySQL 內部認證用,不建議應用層使用