五:MySQL中的函數 - 系統的擼一遍MySQL

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 值
相關文章
相關標籤/搜索