1. 程式人生 > 其它 >MYSQL 函式

MYSQL 函式

技術標籤:MySQL運維mysqljava運維

1.字串函式

ASCII(s):返回字串s的第一個字元的ASCII碼
CHAR_LENGTH(s):返回字串s的字元數
CHATACTER_LENGTH(s):返回字串s的字元數
CONCAT(s1,s2....sn):字串s1,s2等多個字串合併為一個字串
CONCAT(x,s1,s2....sn):同CONCAT一樣,x:為字串的分隔符
FIELD(s1,s2...sn):返回第一個字串s在字串列表中的位置
FIND_IN_SET(s1,s2):返回字串s2中與s1匹配的字串的位置
FORMAT(x,n):函式可以將數字x進行格式化,將x保留到小數點後n位,最後一位四捨五入
INSERT(s1,x,len,s2):字串s2替換s1的x位置開始長度為len的字串
LOCATE(s1,s):從字串s中獲取s1的開始位置
LCASE(s):將字串s的所有字母變成小寫字母
LEFT(s,n):返回字串s的前n個字元
LOCATE(s1,s):從字串s中獲取s1的開始位置
LOWER(s):將字串s的所有字母變成小寫字母
LPAD(s1,len,s2):在字串s1的開始處填充字串s2,使字串長度到達len
LTRIM(s):去掉字串s開始處的空格
MID(s,n,len):從字串s的start位置擷取長度為length的子字串,同SUBSTRING(s,n,len)
POSITION(s1 IN s):從字串s中獲取s1的開始位置
REPEAT(s,n):將字串s重複n次
REPLACE(s,s1,s2):將字串s2替代字串s中的字串s1
REVERSE(s):將字串的順序反過來
RIGHT(s,n):返回字串s的後n個字元
RPAD(s1,len,s2):在字串s1的結尾處新增字串s1,使字串的長度達到len
RTRIM(s):去掉字串s結尾處的空格
SPACE(n):返回n個空格
STRCMP(s1,s2):比較字串s1和s2,如果s1與s2相等返回0,如果s1>s2返回1,如果s1<s2返回-1
SUBSTR(s,start,length):從字串s的start位置擷取長度為length的子字串
SUBSTRING(s,start,length):字串s的start位置擷取長度為length的字串
SUBSTRING_INDEX(s,delimiter,number):返回從字串s的低number個出現的分隔符delimiter之後的子串,如果number是正數,返回第number個字元左邊的字串,如果number是負數,返回第(number的絕對值(從右邊數))個字元右邊的字串
TRIM(s):去掉字串s開始和結尾處的空格
UCASE(s):將字串轉換為大寫
UPPER(s):將字串轉換為大寫

2.數字函式

ABS(x):返回x的絕對值 
ACOS(x):求x的反餘弦值(引數是弧度)
ASIN(x):求反正弦值(引數是弧度)
ATAN(x):求反正切值(引數是弧度)
ATAN2(n,m):求反正切值(引數是弧度)
AVG(expression):返回一個表示式的平均值,expression是一個欄位
CEIL(x):返回大於或等於x的最小整數
CEILING(x):返回大於或等於x的最小整數
COS(x):求餘弦值(引數是弧度)
COT(x):求餘切值(引數是弧度)
COUNT(expression):返回查詢的記錄總數,expression引數是一個欄位或者*號
BEGREES(x):將弧度轉換為角度
n DIV m:整除,n為被除數,m為除數
EXP(x):返回e的x次方
FLOOR(x):返回小於或等於x的最大整數
GREATEST(expr1,expr2,expr3,....):返回列表中的最大值
LEAST(expr1,expr2,expr3,....):返回列表中的最小值
LN:返回數字的自然對數
LOG(x):返回自然對數(以e為底的對數)
LOG10(x):返回以10為底的對數
LOG2(x):返回以2為底的對數
MAX(expression):返回欄位expression中最大值
MIN(expression):返回欄位expression中最小值
MOD(x,y):返回x除以y以後的除數
PI():返回圓周率(3.141593)
POW(x,y):返回x的y次方
POWER(x,y):返回x的y次方
RADIANS(x):將角度轉換為弧度
RAND():返回0到1的隨機數
ROUND(x):返回離x最近的整數
SIGN(x):返回x的符號,x是負數、0、正數分別返回-1、0和1
SIN(x):求正弦值(引數是弧度)
SQRT(x):返回x的平方根
SUM(expression):返回指定欄位的總和
TAN(x):求正切值(引數是弧度)
TRUNCATE(x,y):返回數值x保留到小數點後y位的值(與ROUND最大的區別是不會進行四捨五入)

3.日期函式

ADDDATE(d,n):計算起始日期d加上n天的日期
ADDTIME(t,n):計算時間t加上n秒的時間
CURDATE():返回當前日期
CURRENT_DATE():返回當前日期
CURRENT_TIME():返回當前時間
CURRENT_TIMESTAMP():返回當前日期和時間
CURTIME():返回當前時間
DATE():從日期或日期時間表達式中提取日期值
DATEDIFF(d1,d2):計算日期d1>d2之間相隔的天數
DATE_ADD(d,INTERVAL expr type):計算起始日期d加上一個時間段後的日期,例如:SELECT OrderId,DATE_ADD(OrderDate,INTERVAL 2 DAY) AS OrderPayDate FROM Orders
DATE_FORMAT(d,f):按表示式f的要求顯示日期d
DATE_SUB(date,INTERVAL expr type):函式從日期減去指定的時間間隔
DAY(d):返回日期值d的日期部分
DAYNAME(d):返回日期d是星期幾,如Monday,Tuesday
DAYOFMONTH(d):計算日期d是本月的第幾天
DAYOFWEEK(d):日期d今天是星期幾,1星期日,以此類推
DAYOFYEAR(d):計算日期d是本年的第幾天
EXTRACT(type FROM d):從日期d中獲取指定的值,type指定返回的值,type可取值為:MICROSECOND,SECOND,MINUTE等
ROM_DAYS(n):計算從0000年1月1日開始n天后的日期
HOUR(t):返回t中的小時值
LAST_DAY(d):返回給定日期的那個月份的最後一天
LOCALTIME():返回當前日期和時間
LOCALTIMESTAMP():返回當前日期和時間
MAKEDATE(year,day-of-year):基於給定引數年份year和所在年終的天數序號day-of-year返回一個日期
MAKETIME(hour,minute,second):組合時間,引數分為別小時,分鐘,秒
MICROSECOND(date):返回日期引數所對應的毫秒數
MINUTE(t):返回t中的分鐘值
MONTHNAME(d):返回日期當中的月份名稱,如janyary
MONTH(d):返回日期d中的月份值,1到12
NOW():返回當前日期和時間
PERIOD_ADD(period1,number):為年-月組合日期新增一個時段
PERIOD_DIFF(period1,period2):返回兩個時段之間的月份差值
QUARTER(d):返回日期d是第幾季度,返回1到4
SECOND(t):返回t中的秒鐘值
SEC_TO_TIME(s):將以秒為單位的時間s轉換為時分秒的格式
STR_TO_DATE(string,format_mask):將字串變為日期
SUBDATE(d,n):日期d減去n天后的日期
SUBTIME(t,n):時間t減去n秒的時間
SYSDATE():返回當前日期和時間
TIME(expression):提取傳入表示式的時間部分
TIME_FORMAT(t,f):按表示式f的要求顯示時間t
TIME_TO_SEC(t):將時間t轉換為秒
TIMEDIFF(time1,time2):計算時間差值
TIMESTAMP(expression,interval):單個引數時,函式返回日期或日期時間表達式;有2個引數時,將引數加和
TO_DAYS(d):計算日期d距離0000年1月1日的天數
WEEK(d):計算日期d是本年的第幾個星期,範圍是0到53
WEEKDAY(d):日期d是星期幾,0表示星期一,1表示星期二,以此類推
WEEKOFYEAR(d):計算日期d是本年的第幾個星期,範圍0到53
YEAR(d):返回年份
YEARWEEK(date,mode):返回年份及第幾周(0到53),mode中0表示周天,1表示週一,以此類推

4.高階函式

BIN(x):返回x的二進位制編碼
BINARY(s):將字串s轉換為二進位制字串
CASE expression WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... WHEN conditionN THEN resultN ELSE resultEND:CASE表示函式開始,END表示函式結束,如果condition1成立,則返回result2,當全部不成立則返回result,而當有一個成立後,後面的就不執行了
CAST(x AS type):轉換資料型別
COALESC(expr1,expr2....):返回引數中的第一個非空表示式(從左向右)
CONNECTION_ID():返回伺服器的連線數
CONV(x,f1,f2):返回f1進位制數變成f2進位制數
CONVERT(s USING cs):函式將字串s的字符集變成cs
CURRENT_USER():返回當前使用者
DATABASE():返回當前資料庫名
IF(expr,v1,v2):如果表示式expr成立,返回結果v1;否則返回結果v2
IFNULL(v1,v2):如果v1的值不為NUll,則返回v1,否則返回v2
ISNULL(expression):判斷表示式是否為空
LAST_INSERT_ID():返回最近生成的AUTO_INCREMENT值
NULLIF(expr1,expr2):比較兩個字串,如果字串expr1與expr2相等返回NULL,否則返回expr1
SESSION_USER():返回當前使用者
SYSTEM_USER():返回當前使用者
VERSION():返回資料庫版本號

博主統計了這麼多,希望更多大佬指點,後續再慢慢更新,敬請期待