Mysql 經常使用函數

一、字符串函數

1)CONCAT(str1,str2,...):返回來自於參數連結的字符串。若是任何參數是NULL,返回NULL。能夠有超過2個的參數。一個數字參數被變換爲等價的字符串形式。函數

2)LENGTH(str):返回字符串str的長度。編碼

3)LOCATE(substr,str):返回子串substr在字符串str第一個出現的位置,若是substr不是在str裏面,返回0.spa

4)INSTR(str,substr):返回子串substr在字符串str中的第一個出現的位置。orm

5)LEFT(str,len):返回字符串str的最左面len個字符。排序

6)RIGHT(str,len):返回字符串str的最右面len個字符。 索引

7)SUBSTRING(str,pos):從字符串str的起始位置pos返回一個子串。 utf-8

8)TRIM(str):返回字符串str,全部前綴或後綴被刪除了。字符串

9)LTRIM(str):返回刪除了其前置空格字符的字符串str。數學

10)RTRIM(str):返回刪除了其拖後空格字符的字符串str。it

11)REPLACE(str,from_str,to_str):返回字符串str,其字符串from_str的全部出現由字符串to_str代替。

12)REPEAT(str,count):返回由重複countTimes次的字符串str組成的一個字符串。若是count <= 0,返回一個空字符串。若是str或count是NULL,返回NULL。

13)REVERSE(str):返回顛倒字符順序的字符串str。 

14)INSERT(str,pos,len,newstr):返回字符串str,在位置pos起始的子串且len個字符長的子串由字符串newstr代替。 


二、日期時間函數

1)DAYOFWEEK(date):返回日期date的星期索引(1=星期天,2=星期一, …7=星期六)。

2)WEEKDAY(date):返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。

3)DAYOFMONTH(date):返回date的月份中的日期,在1到31範圍內。

4)DAYOFYEAR(date):返回date在一年中的日數, 在1到366範圍內。 

5)MONTH(date):返回date的月份,範圍1到12。 

6)DAYNAME(date):返回date的星期名字。

7)MONTHNAME(date) :返回date的月份名字。

8)QUARTER(date):返回date一年中的季度,範圍1到4。 

9)WEEK(date,first):對於星期天是一週的第一天的地方,有一個單個參數,返回date的週數,範圍在0到52。2個參數形式WEEK()容許你指定星期是否開始於星期天或星期一。若是第二個參數是0,星期從星期天開始,若是第二個參數是1,從星期一開始。

10)YEAR(date):返回date的年份,範圍在1000到9999。

11)HOUR(time):返回time的小時,範圍是0到23。

12)MINUTE(time):返回time的分鐘,範圍是0到59。

13)SECOND(time):回來time的秒數,範圍是0到59。

14)DATE_ADD(date,INTERVAL expr type) ,進行日期增長的操做,能夠精確到秒

15)DATE_SUB(date,INTERVAL expr type) ,進行日期減小的操做,能夠精確到秒

16)CURRENT_DATE():以‘YYYY-MM-DD’或YYYYMMDD格式返回今天日期值,取決於函數在一個字符串仍是數字上下文被使用。

17)CURRENT_TIME():以‘HH:MM:SS’或HHMMSS格式返回當前時間值

18)NOW():以‘YYYY-MM-DD HH:MM:SS’或YYYYMMDDHHMMSS格式返回當前的日期和時間 

19)DATE_FORMAT() 格式化日期時間函數     date_format()

SELECT date_format(now(),'%Y-%m-%d');

SELECT date_format(now(),'%Y-%m-%d %H:%i:%s');


三、系統函數

1)ASCII(s)返回字符串s的第一個字符的ASCII碼;

2)BIN(x)返回x的二進制編碼;

3)HEX(x)返回x的十六進制編碼;

4)OCT(x)返回x的八進制編碼;

5)CONV(x,f1,f2)將x從f1進制數變成f2進制數。

6)CONVERT(s USING cs)函數將字符串s的字符集變成cs,cs能夠是GBK,utf-8,

7)CHARSET(str)查詢字符集 ,使用charset('abc')

8)CAST(x AS type)和CONVERT(x,type)這兩個函數將x變成type類型。

這兩個函數只對BINARY、CHAR、DATE、DATETIME、TIME、SIGNED INTEGER、UNSIGNED INTEGER這些類型起做用。但兩種方法只是改變了輸出值的數據類型,並無改變表中字段的類型。

9)STRCMP(expr1,expr2) 若是字符串相同,STRCMP()返回0,若是第一參數根據當前的排序次序小於第二個,返回-1,不然返回1。 


四、流程控制函數

1)CASE WHEN‘

SELECT CASE 11

WHEN 1 THEN 'one'

WHEN 2 THEN 'two'

ELSE 'more' END;

2)IF(expr1,expr2,expr3)

SELECT IF(1>2,2,3);

3) IFNULL(tp.count, 0) checkCount,

若是爲空設置一個默認值

五、數學函數

1)abs(-1)

2)mod(N,M) 返回N被M除的餘數 ;  N % M

3)FLOOR(X):返回不大於X的最大整數值。

4)CEILING(X):返回不小於X的最小整數值。

5)ROUND(X) :返回參數X的四捨五入的一個整數。

6)FORMAT(x,n)函數能夠將數字x進行格式化,將x保留到小數點後n位。

相關文章
相關標籤/搜索