MySQL中的常見函數

函數可以幫助用戶便捷的完成很多事情,因此,MySQL中有很多內置的函數:字符串函數、日期函數、數值函數等

一、字符串函數

字符串函數是最常用的一種函數,以下列出常用的字符串函數,以供參考;

函數 功能
CONCAT(s1,s2...sn) 字符串 s1,s2 等多個字符串合併爲一個字符串
INSERT(s1,x,len,s2) 字符串 s2 替換 s1 的 x 位置開始長度爲 len 的字符串
LOWER(s) 將字符串 s 的所有字母變成小寫字母
UPPER(s) 將字符串轉換爲大寫
LEFT(s,n) 返回字符串 s 的前 n 個字符(最左邊的n個字符)
RIGHT(s,n) 返回字符串 s 的後 n 個字符(最右邊的n個字符)
LPAD(s1,len,s2) 在字符串 s1 的開始處填充字符串 s2,使字符串長度達到 len
RPAD(s1,len,s2) 在字符串 s1 的結尾處添加字符串 s2,使字符串的長度達到 len
LTRIM(s) 去掉字符串 s 開始處的空格
RTRIM(s) 去掉字符串 s 結尾處的空格
TRIM(s) 去掉字符串 s 開始和結尾處的空格
REPEAT(s,n) 將字符串 s 重複 n 次
REPLACE(s,s1,s2) 將字符串 s2 替代字符串 s 中的字符串 s1
REVERSE(s) 將字符串s的順序反過來
STRCMP(s1,s2) 比較字符串 s1 和 s2,如果 s1 與 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1
SUBSTRING(s, start, length) 從字符串 s 的 start 位置截取長度爲 length 的子字符串

二、數值函數

MySQL中常見的數值函數
序號 函數 功能
1 ABS(x) 返回 x 的絕對值
MOD(x,y) 返回 x 除以 y 以後的餘數
SQRT(x) 返回x的平方根
POW(x,y) 返回 x 的 y 次方 
EXP(x) 返回 e 的 x 次方  
LOG(x) 返回自然對數(以 e 爲底的對數) 
2 MAX(expression) 返回字段 expression 中的最大值
MIN(expression) 返回字段 expression 中的最小值
SUM(expression) 返回指定字段的總和
COUNT(expression) 返回查詢的記錄總數,expression 參數是一個字段或者 * 號
AVG(expression) 返回一個表達式的平均值,expression 是一個字段
3 CEIL(x) 返回大於或等於 x 的最小整數 
FLOOR(x) 返回小於或等於 x 的最大整數
ROUND(x) 返回離 x 最近的整數
TRUNCATE(x,y) 返回數值 x 保留到小數點後 y 位的值(與 ROUND 最大的區別是不會進行四捨五入)
4 RAND() 返回 0 到 1 的隨機數 

三、日期與時間函數

MySQL中常見的日期和時間函數
函數 功能
CURDATE() 返回當前日期
CURTIME() 返回當前時間
NOW() 返回當前日期和時間
UNIX_TIMESTAMP(date) 返回日期date的unix時間戳
FROM_UNIXTIME 返回unix時間戳的日期值
YEAR(date) 返回年份
MONTH(date) 返回日期date中的月份值,1 到 12
MONTHNAME(date) 返回日期當中的月份名稱,如 Janyary
WEEK(date) 計算日期 date 是本年的第幾個星期,範圍是 0 到 53
HOUR(time) 返回 time中的小時值
MINUTE(time) 返回 time 中的分鐘值
SECOND(time) 返回 time 中的秒鐘值
DATE_FORMAT(date,fmt) 按表達式 fmt的要求顯示日期 date
DATE_ADD(date,INTERVAL  expr  type) 計算起始日期 date 加上一個時間段後的日期
DATEDIFF(date1,date2) 計算日期 date1->date2 之間相隔的天數

四、流程函數

流程函數是很常用的一類函數,用戶可以使用這類函數在一個SQL語句中實現條件選擇,可提高語句的效率。

MySQL中的流程函數
函數 功能
IF(value,t,f) 如果value是真,返回t;否則返回f
IFNULL(value1,value2) 如果value1不爲空,返回value1;否則返回value2
CASE WHEN[value1]THEN[result]…ELSE[default]END 如果value1是真,返回result1;否則返回default
CASE[expr]WHEN[value1]THEN[result]…ELSE[default]END 如果expr等於value1,返回result1;否則返回default

五、其他常用函數

MySQL中的其他常用函數
函數 功能
DATABASE() 返回當前數據庫名
VERSION() 返回數據庫的版本號
USER() 返回當前用戶
INET_ATON(IP) 返回ip地址的數字表達式
INET_NTOA(num) 返回數字代表的ip地址
PASSWORD(str) 返回字符串str的加密版本
MD5 返回字符串的MD5值
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章