聚合函数(常用于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的最小整数值,(进一取整)
日期和时间函数
- 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之间相差的天数
其他
- 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