MySQL中提供了不少操做函數,包含了字符串相關,數值相關、日期相關等。數據庫
字符串函數
函數名 |
做用 |
CANCAT(S1,S2,...Sn) |
鏈接 S1,S2,...Sn 爲一個字符串 |
INSERT(str,x,y,instr) |
將字符串 str 從第 x 位置開始,y 個字符長的子串替換爲字符串 instr |
LOWER(str) |
將字符串 str 中全部字符變爲小寫 |
UPPER(str) |
將字符串 str 中全部字符變爲大寫 |
LEFT(str ,x) |
返回字符串 str 最左邊的 x 個字符 |
RIGHT(str,x) |
返回字符串 str 最右邊的 x 個字符 |
LPAD(str,n ,pad) |
用字符串 pad 對 str 最左邊進行填充,直到長度爲 n 個字符長度 |
RPAD(str,n,pad) |
用字符串 pad 對 str 最右邊進行填充,直到長度爲 n 個字符長度 |
LTRIM(str) |
去掉字符串 str 左側的空格 |
RTRIM(str) |
去掉字符串 str 行尾的空格 |
REPEAT(str,x) |
返回str 重複x次的結果 |
REPLACE(str,a,b) |
用字符串 b 替換字符串 str 中全部出現的字符串 a |
STRCMP(s1,s2) |
比較字符串 s1 和 s2 |
TRIM(str) |
去掉字符串行尾和行頭的空格 |
SUBSTRING(str,x,y) |
返回從字符串 str x 位置起 y 個字符長度的字串 |
數學函數
函數名 |
做用 |
ABS(x) |
返回 x 的絕對值 |
CEIL(x) |
返回大於 x 的最大整數值 |
FLOOR(x) |
返回小於 x 的最大整數值 |
MOD(x,y) |
返回 x/y 的模 |
RAND() |
返回 0 到 1 內的隨機值 |
ROUND(x,y) |
返回參數 x 的四捨五入的有 y 位小數的值 |
TRUNCATE(x,y) |
返回數字 x 截斷爲 y 位小數的結果 |
日期時間函數
函數名 |
做用 |
CURDATE() |
返回當前日期 |
CURTIME() |
返回當前時間 |
NOW() |
返回當前的日期和時間 |
UNIX_TIMESTAMP(date) |
返回日期 date 的 UNIX 時間戳 |
FROM_UNIXTIME |
返回 UNIX 時間戳的日期值 |
WEEK(date) |
返回日期 date 爲一年中的第幾周 |
YEAR(date) |
返回日期 date 的年份 |
HOUR(time) |
返回 time 的小時值 |
MINUTE(time) |
返回 time 的分鐘值 |
MONTHNAME(date) |
返回 date 的月份名 |
DATE_FORMAT(date,fmt) |
返回按字符串 fmt 格式化日期 date 值 |
DATE_ADD(date,INTERVAL expr type) |
返回一個日期或時間值加上一個時間間隔的時間值 |
DATEDIFF(expr,expr2) |
返回起始時間 expr 和結束時間 expr2 之間的天數 |
流程函數
|
|
IF(value,t f) |
若是 value 是真,返回 t;不然返回 f |
IFNULL(value1,value2) |
若是 value1 不爲空返回 value1,不然返回 value2 |
CASE WHEN [value1] THEN[result1]...ELSE[default]END |
若是 value1 是真,返回 result1,不然返回 default |
CASE [expr] WHEN [value1] THEN[result1]...ELSE[default]END |
若是 expr 等於 value1,返回 result1,不然 |
其餘函數
函數名 |
做用 |
DATABASE() |
返回當前數據庫名 |
VERSION() |
返回當前數據庫版本 |
USER() |
返回當前登陸用戶名 |
INET_ATON(IP) |
返回 IP 地址的數字表示 |
INET_NTOA(num) |
返回數字表明的 IP 地址 |
PASSWORD(str) |
返回字符串 str 的加密版本 |
MD5() |
返回字符串 str 的 MD5 值 |