- 論壇徽章:
- 7
|
本帖最后由 aixuexiwoying 于 2016-04-28 17:17 編輯
函數(shù)是事先經(jīng)過編譯并存儲在數(shù)據(jù)庫中的一段sql語句的集合。MySQL常用函數(shù)有:字符串函數(shù)、數(shù)值函數(shù)、日期和時間函數(shù)、流程函數(shù)以及自定義函數(shù)等。
字符串函數(shù)
CONCAT(str1,str2,…) 連接字符串
LOWER(str) 轉換成小寫
UPPER(str) 轉換成大寫
LENGTH(str) 返回字符串str的長度
TRIM(str) 去掉str字符串前綴和后綴的空格(和length做個試驗)
LTRIM(str) 去掉str字符串前綴的空格
RTRIM(str) 去掉str字符串后綴的空格
INSERT(str1,x,y,str2) 將str1值從第x開始至y結束替換成str2
REPLACE(str,from_str,to_str) 將str中的from_str替換為to_str
LPAD(str,len,padstr) 返回str值,并左起由字符串padstr填補len位
mysql> select lpad('server',2,'qq');
+-----------------------+
| lpad('server',2,'qq') |
+-----------------------+
| se |
+-----------------------+
1 row in set (0.27 sec)
mysql> select lpad('server',20,'qq');
+------------------------+
| lpad('server',20,'qq') |
+------------------------+
| qqqqqqqqqqqqqqserver |
+------------------------+
1 row in set (0.00 sec)
RPAD(str,len,padstr) 返回str值,并右起由字符串padstr填補len位
REPEAT(str,len) 將str重復len次
數(shù)值函數(shù)
ABS(x) 返回絕對值
CEIL(x) 返回大于等于x的最小整數(shù)
F
LOOR(x) 返回不小等于x的最大整數(shù)
MOD(x,y) 返回x/y的模
RAND() 生成0~1之間的隨機浮點數(shù)
ROUND(x,y) 返回x四舍五入后有y位小數(shù)的值
TRUNCATE(x,y) 返回x截斷為y位小數(shù)的結果
日期函數(shù)
CURDATE() 返回當前日期
CURTIME() 返回當前時間
NOW() 返回當前日期和時間
WEEK(date,x) 返回指定日期是一年中的第幾周,x=0(默認)按周日為一周的第一天,x=1按周一為一周的第一天
YEAR(date) 返回指定日期的年份
MONTHNAME(date) 返回指定日期的月份名稱
DATE_FORMAT(date,fmt) 返回按字符串fmt格式化的date日期
DATE_ADD(date,INTERVAL expr type) 返回一個日期或時間加上一個時間間隔的值
DATEDIFF(expr1,expr2) 返回expr1-expr2之間的天數(shù)
流程函數(shù)
IF(expr1,expr2,expr3) 如果expr1為TRUE(!=0且!=NULL),則返回expr2的值,否則返回expr3的值
IFNULL(expr1,expr2) 如果expr1不為NULL則返回expr1,否則返回expr2
CASE
WHEN [value1] THEN result1
WHEN [value2] THEN result2
ELSE default
END
如果value1值為TRUE,則優(yōu)先返回result1值,如果value2值為TRUE,則返回result2值,否則返回default值
|
|