MYSQL 函式
阿新 • • 發佈:2021-01-06
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():返回資料庫版本號
博主統計了這麼多,希望更多大佬指點,後續再慢慢更新,敬請期待