| 函數 | 說明 | 範例 |
| CHAR_LENGTH(s) | 字元數 | SELECT CHAR_LENGTH('你好123') → 5 |
| LENGTH(s) | 位元組長度 | SELECT LENGTH('你好123') → 9 (UTF-8) |
| CONCAT(s1,s2...) | 串聯 | SELECT CONCAT('12','34') → '1234' |
| CONCAT_WS(sep,s1,s2...) | 帶分隔符串聯 | SELECT CONCAT_WS('@','12','34') → '12@34' |
| INSERT(s1,pos,len,s2) | s1 從 pos 長度 len 替換為 s2 | SELECT INSERT('12345',1,3,'abc') → 'abc45' |
| UPPER/UCASE / LOWER/LCASE | 大/小寫轉換 | SELECT UPPER('abc') → 'ABC' |
| LEFT(s,n) / RIGHT(s,n) | 左/右 n 字元 | SELECT LEFT('abcde',2) → 'ab' |
| LPAD/RPAD(s1,len,s2) | 左/右填充 s2 至長度 len | SELECT LPAD('abc',5,'xx') → 'xxabc' |
| LTRIM/RTRIM/TRIM | 去左/右/兩側空格 | SELECT TRIM(' abc ') → 'abc' |
| TRIM(c FROM s) | 去兩側指定字元 c | SELECT TRIM('@' FROM '@@abc@@') → 'abc' |
| REPEAT(s,n) | 重複 n 次 | SELECT REPEAT('ab',3) → 'ababab' |
| SPACE(n) | n 個空格 | |
| REPLACE(s,old,new) | 替換所有 old 為 new | SELECT REPLACE('abc','a','x') → 'xbc' |
| STRCMP(s1,s2) | 比較:相等 0,s1s2 1 | |
| SUBSTRING/MID(s,pos,len) | 擷取子字串 | |
| LOCATE/POSITION/INSTR | 查找子字串位置 | SELECT LOCATE('b','abc') → 2 |
| REVERSE(s) | 反轉字串 | SELECT REVERSE('abc') → 'cba' |
| ELT(n,s1,s2...) | 返回第 n 個字串 | SELECT ELT(2,'a','b','c') → 'b' |
| FIELD(s,s1,s2...) | 返回 s 在列表中位置 | SELECT FIELD('c','a','b','c') → 3 |
| FIND_IN_SET(s1,s2) | 逗號列表中查找位置 | |
| SUBSTRING_INDEX(s,delim,count) | 按分隔符切分取段 | SELECT SUBSTRING_INDEX('a*b*c','*',2) → 'a*b' |
| LOAD_FILE(path) | 讀取伺服器檔案內容 | 需 FILE 權限,路徑需絕對路徑 |
| 函數 | 說明 | 範例 |
| NOW()/CURRENT_TIMESTAMP() | 當前日期時間 | 2014-12-17 15:59:02 |
| CURDATE()/CURRENT_DATE() | 當前日期 | 2014-12-17 |
| CURTIME()/CURRENT_TIME() | 當前時間 | 15:59:02 |
| UNIX_TIMESTAMP() / UNIX_TIMESTAMP(d) | 當前/指定時間轉時間戳 | SELECT UNIX_TIMESTAMP('2011-11-11 11:11:11') → 1320981071 |
| FROM_UNIXTIME(ts) | 時間戳轉日期時間 | SELECT FROM_UNIXTIME(1320981071) → 2011-11-11 11:11:11 |
| UTC_DATE/TIME | UTC 日期/時間 | 比本地時間慢 8 小時 (CST) |
| MONTH/MONTHNAME/DAYNAME | 月份數/名、星期名 | SELECT MONTHNAME('2011-11-11') → 'November' |
| DAYOFWEEK/WEEKDAY | 星期幾 (1=周日/0=周一) | SELECT DAYOFWEEK('2011-11-11') → 6 |
| WEEK/WEEKOFYEAR | 第幾周 (0-53) | SELECT WEEK('2011-11-11') → 45 |
| DAYOFYEAR/DAYOFMONTH | 第幾天/月第幾天 | SELECT DAYOFMONTH('2011-11-11') → 11 |
| QUARTER | 季度 (1-4) | SELECT QUARTER('2011-11-11') → 4 |
| HOUR/MINUTE/SECOND | 時/分/秒 | SELECT HOUR('1:2:3') → 1 |
| EXTRACT(unit FROM d) | 擷取指定單位 | unit: MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR 等組合 |
| TIME_TO_SEC/SEC_TO_TIME | 時間⇄秒數 | SELECT TIME_TO_SEC('1:12:00') → 4320 |
| TO_DAYS/FROM_DAYS | 日期⇄公元元年天數 | SELECT TO_DAYS('0001-01-01') → 366 |
| DATEDIFF(d1,d2) | 日期差天數 | SELECT DATEDIFF('2001-01-01','2001-02-02') → -32 |
| DATE_ADD/ADDDATE(d, INTERVAL expr unit) | 日期加間隔 | SELECT ADDDATE('2011-11-11', INTERVAL 5 MINUTE) → '2011-11-11 11:16:11' |
| DATE_SUB/SUBDATE(d, INTERVAL expr unit) | 日期減間隔 | |
| ADDTIME/SUBTIME(t, n) | 時間加/減秒數 | SELECT ADDTIME('11:11:11',5) → '11:11:16' |
| DATE_FORMAT(d,fmt) / TIME_FORMAT(t,fmt) | 格式化輸出 | SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s') |
| GET_FORMAT(type, locale) | 取得地區化格式字串 | SELECT GET_FORMAT(DATE,'USA') → '%m.%d.%Y' |