Mysql函數記錄詳解

聚合函數(常用於GROUP BY從句的SELECT查詢中)

下面幾個函數會忽略值為NULL的行

AVG(col) 返回指定列的平均值 COUNT(col) 返回指定列中非NULL值/行的個數(當函數參數為星號*時不會忽略) MIN(col) 返回指定列的最小值 MAX(col) 返回指定列的最大值 SUM(col) 返回指定列的所有值之和 GROUP_CONCAT(col) 返回由屬於一組的列值連接組合而成的結果

字符串

CONCAT(s1,s2…,sn):將s1,s2…,sn連接成字符串 SUBSTRING(str,start,length):在str中從start開始截取length個字符長度 CHAR_LENGTH(str):返回字符串str的字符長度 LENGTH(str):返回字符串str的字節長度 INSTR(str,substr):返回字符串str中子字符串的第一個出現位置 INSERT(str,start,length,newstr):返回字符串str從start開始的length長度被字符串newstr取代的字符 STRCMP(expr1,expr2):字符串比較(相等返回0,expr1>expr2返回1,expr2>expr1返回-1)

數學

ROUND(x,y):返回參數x的四舍五入的有y位小數的值(四舍五入)

-FLOOR(x):返回小於x的最大整數值,(去掉小數取整)

-CEILING(x):返回大於x的最小整數值,(進一取整)

其他

LAST_INSERT_ID():返回最後一個INSERT或 UPDATE 問詢為 AUTO_INCREMENT列設置的第一個 發生的值 ROW_COUNT():返回被前面語句升級的、插入的或刪除的行數 SLEEP(duration) :睡眠時間為duration 參數給定的秒數,然後返回 0。若 SLEEP() 被中斷,它會返回 1 IF(expr1,expr2,expr3) :如果 expr1 是TRUE ,則返回expr2,否則返回expr3 IFNULL(expr1,expr2):假如expr1不為 NULL,則返回expr1,否則返回expr2

日期和時間函數

DATE_FORMAT(date,fmt):依照指定的fmt格式格式化日期date值 FROM_UNIXTIME(ts,fmt):根據指定的fmt格式,格式化UNIX時間戳ts MONTHNAME(date):返回date的月份名(英語月份,如October) DAYNAME(date):返回date的星期名(英語星期幾,如Saturday) NOW():返回當前的日期和時間(如:2016-10-08 18:57:39) CURDATE() 或 CURRENT_DATE():返回當前的日期 CURTIME() 或 CURRENT_TIME():返回當前的時間 QUARTER(date):返回date在一年中的季度(1~4) WEEK(date):返回日期date為一年中第幾周(0~53) DAYOFYEAR(date):返回date是一年的第幾天(1~366) DAYOFMONTH(date):返回date是一個月的第幾天(1~31) DAYOFWEEK(date):返回date所代表的一星期中的第幾天(1~7) YEAR(date):返回日期date的年份(1000~9999) MONTH(date):返回date的月份值(1~12) DAY(date):返回date的天數部分 HOUR(time):返回time的小時值(0~23) MINUTE(time):返回time的分鐘值(0~59) SECOND(time):返回time的秒值(0-59) DATE(datetime):返回datetime的日期值 TIME(datetime):返回datetime的時間值 DATEDIFF(expr,expr2) :返回起始時間 expr和結束時間expr2之間相差的天數

You May Also Like