MySQL函數

1.數學函數

 (1)ABS(x) 返回x的絕對值

 (2)CEIL(x),CEILING(x) 返回大於或等於x的最小整數

 (3)FLOOR(x) 返回小於或等於x的最大整數

 (4)RAND() 返回0~1的隨機數

 (5)RAND(x) 返回0~1的隨機數,x值相同時返回的隨機數相同

 (6)SIGN(x) 返回x的符號,x是負數、0、正數分別返回-1、0、1

 (7)PI() 返回圓周率(3.141593)

 (8)TRUNCATE(x,y) 返回數值x保留到小數點後y位的值,不進行四捨五入的處理

 (9)ROUND(x) 返回離x最近的整數

 (10)ROUND(x,y) 保留x小數點後y位的值,截斷時要進行四捨五入

 (11)POW(x,y),POWER(x,y) 返回x的y次方

 (12)SQRT(x) 返回x的平方根

 (13)EXP(x) 返回e的x次方

 (14)MOD(x,y) 返回x除以y以後的餘數

 (15)LOG(x) 返回自然對數(以e爲底的對數)

 (16)LOG10(x) 返回以10爲底的對數

 (17)RADIANS(x) 將角度轉換爲弧度

 (18)DEGREES(x) 將弧度轉換爲角度

 (19)SIN(x) 求正弦值

 (20)ASIN(x) 反正弦值

 (21)COS(x) 餘弦值

 (22)ACOS(x) 反餘弦值

 (23)TAN(x) 正切值

 (24)ATAN(x),ATAN2(x,y) 求反正切值

 (25)COT(x) 餘切值

2.字符串函數

 (1)CHAR_LENGTH(s) 返回字符串s的字符數

 (2)LENGTH(s) 返回字符串s的長度,即字符數,而不是指字符串s佔用的空間

 (3)CONCAT(s1,s2,...) 將字符串s1,s2等多個字符串合併爲一個字符串

 (4)CONCAT_WS(x,s1,s2,...) 同CONCAT()函數,但是每個字符串之間要加上x

 (5)INSERT(s1,x,len,s2) 將字符串s2替換s1的x位置開始長度爲len的字符串

 (6)UPPER(s),UCASE(s) 將字符串s的所有字母都變成大寫字母

 (7)LOWER(s),LCASE(s) 將字符串s的所有字母變成小寫字母

 (8)LEFT(s,n) 返回字符串s的前n個字符

 (9)RIGHT(s,n) 返回字符串s的後n個字符

 (10)LPAD(s1,len,s2) 字符串s2來填充s1的開始處,使字符長度打到len

 (11)RPAD(s1,len,s2) 字符串s2來填充s1的結尾處,使字符長度打到len

 (12)LTRIM(s) 去掉字符串s開始處的空格

 (13)RTRIM(s) 去掉字符串s結尾處的空格

 (14)TRIM(s) 去掉字符串s開始處和結尾處的空格

 (15)TRIM(s1 FROM s) 去掉字符串s開始處和結尾處的字符串s1

 (16)REPEAT(s,n) 將字符串s重複n次

 (17)SPACE(n) 返回n個空格

 (18)REPLACE(s,s1,s2) 用字符串s2替換字符串s中的字符串s1

 (19)STRCMP(s1,s2) 比較字符串s1和s2

 (20)SUBSTRING(s,n,len),MID(s,n,len) 獲取從字符串s中的第n個位置開始長度爲len的字符串

 (21)LOCATE(s1,s),POSITION(s1 IN s),INSTR(s,s1) 從字符串s中獲取s1的開始位置

 (22)REVERSE(s) 將字符串s的順序反過來

 (23)ELT(n,s1,s2,...) 返回第n個字符串

 (24)FIELD(s,s1,s2,...) 返回第一個與字符串s匹配的字符串位置

 (25)FIND_IN_SET(s1,s2) 返回在字符串s2中與s1匹配的字符串的位置

 (26)MAKE_SET(x,s1,s2,...) 按x的二進制數(從右向左)從s1,s2,...,sn中選取字符串

3.日期和時間函數

 (1)CURDATE(),CURRENT_DATE() 返回當前日期

 (2)CURTIME(),CURRENT_TIME() 返回當前時間

 (3)NOW(),CURRENT_TIMESTAMP(),LOCALTIME(),SYSDATE(),LOCALTIMESTAMP() 返回當前日期和時間

 (4)UNIX_TIMESTAMP() 已UNIX時間戳的形式返回當前時間

 (5)UNIX_TIMESTAMP(d) 將時間d以UNIX時間戳的形式返回

 (6)FORM_UNIXTIME(d) 把UNIX時間戳的時間轉換爲普通格式的時間

 (7)UTC_DATE() 返回UTC(國際協調時間)日期

 (8)UTC_TIME() 返回UTC時間

 (9)MONTH(d) 返回日期d中的月份值,範圍是1~12

 (10)MONTHNAME(d) 返回日期d中的月份名稱,如January,February

 (11)DAYNAME(d) 返回日期d是星期幾,如Monday,Tuesday

 (12)DAYOFWEEK(d) 返回日期d是星期幾,1表示星期如,2表示星期一

 (13)WEEKDAY(d) 返回日期d是星期幾,0表示星期一,1表示星期二

 (14)WEEK(d) 計算日期d是本年的第幾個星期,範圍是0~53

 (15)WEEKOFYEAR(d) 計算日期d是本年的第幾個星期,範圍是1~53

 (16)DAYOFYEAR(d) 計算日期d是本年的第幾天

 (17)DAYOFMONTH(d) 計算日期d是本月的第幾天

 (18)YEAR(d) 返回日期d中年份值

 (19)QUARTER(d) 返回日期d是第幾季度,範圍是1~4

 (20)HOUR(t),MINUTE(t),SECOND(t) 返回時間t中的小時值,分鐘值,秒鐘值

 (21)EXTRACT(type FROM d) 從日期d中獲取指定的值,type指定返回的值,如YEAR,HOUR

 (22)TIME_TO_SEC(t) 將時間t轉換爲秒

 (23)SEC_TO_TIME(s) 將以秒爲單位的時間s轉換爲時分秒的格式

 (24)TO_DAYS(d) 計算日期d~0000年1月1日的天數

 (25)FROM_DAYS(n) 計算從0000年1月1日開始n天后的日期

 (26)DATEDIFF(d1,d2) 計算日期d1~d2之間相隔的天數

 (27)ADDDATE(d,n) 計算起始日期d加上n天后的日期

 (28)ADDDATE(d,INTERVAL expr type),DATE_ADD(d,INTERVAL expr type) 計算起始日期d加上一個時間段後的如期

 (29)SUBDATE(d,n) 計算起始日期d減去n天后的日期

 (30)SUBDATE(d,INTERVAL expr type) 計算起始日期減去一個時間段後的日期

 (31)ADDTIME(t,n) 計算起始時間t加上n秒的時間

 (32)SUBTIME(t,n) 計算起始時間t減去n秒後的時間

 (33)DATE_FORMAT(d,f) 按照表達式f的要求顯示日期d

 (34)TIME_FORMAT(d,f) 按照表達式f的要求顯示時間d

 (35)GET_FORMAT(type,s) 根據字符串s獲取type類型數據的顯示格式

4.條件判斷函數

 (1)IF(expr,v1,v2) 如果表達式expr成立,返回結果v1;否則,返回結果v2

 (2)IFNULL(v1,v2) 如果v1不爲空,就顯示v1的值,否則就顯示v2

 (3)CASE WHEN expr1 THEN v1 [WHEN expr2 THEN v2...] [ELSE vn] END CASE表示函數開始,END表示函數結束。如果

          表達式expr1成立,返回v1.如果expr2成立,返回v2.最後遇到ELSE時返回vn

5.系統信息函數

 (1)VERSION() 返回數據庫版本號

 (2)CONNECTION_ID() 返回服務器的連接數

 (3)DATABASE(),SCHEMA() 返回當前數據庫名

 (4)USER(),SYSTEM_USER(),SESSION_USER(),CURRENT_USER(),CURRENT_USER 返回當前用戶

 (5)CHARSET(str) 返回字符串str的字符集

 (6)COLLATION(str) 返回字符串str的字符排列方式

 (7)LAST_INSERT_ID() 返回最近生成的AUTO_INCREMENT值

6.加密函數

 (1)PASSWORD(str) 一般給用戶密碼加密

 (2)MD5(str) 主要對普通的數據進行加密

 (3)ENCODE(str,pswd_str) 使用字符串pswd_str來加密字符串str,加密的結果是一個二進制數,必須使用

          BLOB類型的字段來保存它

 (4)DECODE(crypt_str,pswd_str) 使用字符串pswd_str來爲crypt_str解密

7.其它函數

 (1)FORMAT(x,n) 對數字x進行格式化,將x保留到小數點後n位,截斷時需要進行四捨五入處理

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

 (3)BIN(x),HEX(x),OCT(x) 返回x的二進制編碼,十六進制編碼,八進制編碼

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

 (5)INET_ATON(IP) 將IP地址轉換爲數字表示

 (6)INET_NTON(n) 將數字n轉換爲IP形式

 (7)GET_LOCK(name,time) 定義一個名稱爲name,持續時間長度爲time秒的鎖,成功返回1,嘗試超時返回0,遇到錯誤返回NULL

 (8)RELEASE_LOCK(name) 解除名稱爲name的鎖。成功返回1,嘗試超時返回0,解鎖失敗返回NULL

 (9)IS_FREE_LOCK(name) 判斷是否使用名爲name的鎖,使用返回0,否則返回1

 (10)BENCHMARK(count,expr) 將表達式expr重複執行count次,然後返回執行時間

 (11)CONVERT(s USING cs) 將字符串s的字符集變成cs

 (12) CAST(x AS type),CONVERT(x,type) 將x變成type類型。只對BINARY、CHAR、DATE、DATETIME、TIME、SIGNED INTEGER、

           UNSIGNED INTEGER 這些類型起作用

發佈了24 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章