| 函數 | 說明 | 範例 | 結果 |
ASCII(str) | 返回最左字元 ASCII 碼 | ASCII('d') | 100 |
ORD(str) | 多位元組字元編碼值 | ORD('中') | 20013 |
CONV(N,from,to) | 進制轉換 | CONV('a',16,2) | '1010' |
BIN(N) | 二進制字串 | BIN(12) | '1100' |
HEX(N) | 十六進制字串 | HEX(255) | 'FF' |
CHAR(N,...) | ASCII 碼轉字串 | CHAR(77,121,83,81,76) | 'MySQL' |
CONCAT(s1,s2,...) | 字串連接,任一 NULL 則回 NULL | CONCAT('ab','cd') | 'abcd' |
CONCAT_WS(sep,...) | 帶分隔符連接,跳過 NULL | CONCAT_WS(',','a',NULL,'c') | 'a,c' |
LENGTH(str) | 位元組長度 | LENGTH('中文') | 6 (UTF8) |
CHAR_LENGTH(str) | 字元長度 | CHAR_LENGTH('中文') | 2 |
LOCATE(sub,str,[pos]) | 子串位置,不存在回 0 | LOCATE('b','abc') | 2 |
SUBSTRING(str,pos,len) | 截取子串 | SUBSTRING('Hello',2,3) | 'ell' |
SUBSTRING_INDEX(str,delim,count) | 按分隔符截取,count 正左負右 | SUBSTRING_INDEX('a.b.c','.',2) | 'a.b' |
TRIM([BOTH|LEADING|TRAILING] rem FROM str) | 去除前綴/後綴/兩側字元 | TRIM('x' FROM 'xxabcxx') | 'abc' |
REPLACE(str,from,to) | 全部替換 | REPLACE('a.b.c','.','|') | 'a|b|c' |
REPEAT(str,count) | 重複字串 | REPEAT('ab',3) | 'ababab' |
REVERSE(str) | 反轉字串 | REVERSE('abc') | 'cba' |
INSERT(str,pos,len,newstr) | 位置替換 | INSERT('Quadratic',3,4,'What') | 'QuWhattic' |
ELT(N,str1,str2...) | 返回第 N 個字串 | ELT(2,'a','b','c') | 'b' |
FIELD(str,str1,str2...) | 返回字串在列表中的索引 | FIELD('b','a','b','c') | 2 |
FIND_IN_SET(str,set_str) | 集合中查找位置(集合以逗號分隔) | FIND_IN_SET('b','a,b,c') | 2 |
MAKE_SET(bits,str1,str2...) | 按位組合集合 | MAKE_SET(5,'a','b','c') | 'a,c' |
LCASE/LOWER(str) | 轉小寫 | LOWER('ABC') | 'abc' |
UCASE/UPPER(str) | 轉大寫 | UPPER('abc') | 'ABC' |
LOAD_FILE(path) | 讀取伺服器檔案內容(需 FILE 權限) | LOAD_FILE('/tmp/data.txt') | 檔案內容 |
| 函數 | 說明 | 範例 |
NOW() / SYSDATE() | 當前日期時間 | 2024-01-15 10:30:45 |
CURDATE() | 當前日期 | 2024-01-15 |
CURTIME() | 當前時間 | 10:30:45 |
DATE_ADD(date, INTERVAL expr unit) | 日期加法 | DATE_ADD('2024-01-15', INTERVAL 3 DAY) |
DATE_SUB(date, INTERVAL expr unit) | 日期減法 | DATE_SUB('2024-01-15', INTERVAL 1 MONTH) |
DATEDIFF(date1, date2) | 日期差天數 | DATEDIFF('2024-01-15','2024-01-10') → 5 |
DATE_FORMAT(date, format) | 格式化輸出 | DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') |
STR_TO_DATE(str, format) | 字串解析為日期 | STR_TO_DATE('20240115','%Y%m%d') |
UNIX_TIMESTAMP([date]) | 轉 Unix 時間戳 | UNIX_TIMESTAMP() → 1705285845 |
FROM_UNIXTIME(ts,[format]) | 時間戳轉日期 | FROM_UNIXTIME(1705285845) |
DAYOFWEEK(date) | 星期索引 (1=週日) | DAYOFWEEK('2024-01-15') → 2 |
WEEKDAY(date) | 星期索引 (0=週一) | WEEKDAY('2024-01-15') → 0 |
MONTH(date) | 月份 (1-12) | |
YEAR(date) | 年份 | |
HOUR/MINUTE/SECOND(time) | 時/分/秒 | |
LAST_DAY(date) | 該月最後一天 | LAST_DAY('2024-02-10') → 2024-02-29 |
QUARTER(date) | 季度 (1-4) | |
WEEK(date,[mode]) | 年度週數 | |
PERIOD_ADD(P,N) | 年月加 N 月 | PERIOD_ADD(202401,3) → 202404 |
PERIOD_DIFF(P1,P2) | 年月差月數 | PERIOD_DIFF(202404,202401) → 3 |
TO_DAYS(date) | 日期轉天數 (從 year 0) | |
FROM_DAYS(N) | 天數轉日期 | |