
SQL 有很多可用于计数和计算的内建函数。常用的函数有聚合函数、日期和时间函数、转换函数、窗口函数、字符串函数等。
1,
聚合函数执行的操作是将多个从列中取得的值,计算返回一个单一的值。常与group by 组合使用
- AVG() - 返回平均值
- COUNT() - 返回所有非空值的个数
- FIRST() - 返回第一个记录的值
- LAST() - 返回最后一个记录的值
- MAX() - 返回最大值
- MIN() - 返回最小值
- SUM() - 返回总和
- ADDDATE()增加日期
- ADDTIME()增加时间
- CONVERT_TZ()将当前时区更改为另一时区
- CURDATE()返回当前日期
- CURRENT_DATE(), CURRENT_DATECURDATE() 的别名
- CURRENT_TIME(), CURRENT_TIMECURTIME() 的别名
- CURRENT_TIMESTAMP(), CURRENT_TIMESTAMPNOW() 的别名
- CURTIME()返回当前时间
- DATE_ADD()将两个日期相加
- DATE_FORMAT()按照指定格式格式化日期
- DATE_SUB()将两个日期相减
- DATE()从 date 或者 datetime 表达式中提取出日期部分
- DATEDIFF()将两个日期相减
- DAY()DAYOFMONTH() 的别名
- DAYNAME()返回某天在用星期中的名称
- DAYOFMONTH()返回某天是当月的第几天 (1-31)
- DAYOFWEEK()返回某天是该星期的第几天
- DAYOFYEAR()返回某天是一年中的第几天(1-366)
- EXTRACT提取日期中的某一部分
- FROM_DAYS()将天数转换为日期
- FROM_UNIXTIME()将某个日期格式化为 UNIX 时间戳
- HOUR()提取小时
- LAST_DAY返回参数日期所在月份的最后一天
- LOCALTIME(), LOCALTIMENOW() 的别名
- LOCALTIMESTAMP, LOCALTIMESTAMP()NOW() 的别名
- MAKEDATE()利用年份和某天在该年所处的天数来创建日期
- MAKETIMEMAKETIME()
- MICROSECOND()由参数返回微秒
- MINUTE()由参数返回分钟
- MONTH()返回日期参数的月份
- MONTHNAME()返回月份的名字
- NOW()返回当前日期和时间
- PERIOD_ADD()向年月格式的日期数据之间添加一段时间
- PERIOD_DIFF()返回两个年月格式的日期数据之间的月份数
- QUARTER()返回日期参数所在的季度
- SEC_TO_TIME()将秒数转换为 'HH:MM:SS' 格式
- SECOND()返回参数中的秒数 (0-59)
- STR_TO_DATE()将字符串转换为日期数据
- SUBDATE()以三个参数调用的时候是 DATE_SUB() 的同义词
- SUBTIME()减去时间
- SYSDATE()返回函数执行的时的时刻
- TIME_FORMAT()格式化时间
- TIME_TO_SEC()将时间参数转换为秒数
- TIME()返回参数表达式中的时间部分
- TIMEDIFF()将两个时间相减
- TIMESTAMP()只有一个参数时,该函数返回 date 或者 datetime 表达式。当有两个参数时,将两个参数相加。
- TIMESTAMPADD()在 datetime 表达式上加上一段时间
- TIMESTAMPDIFF()在 datetime 表达式上减去一段时间
- TO_DAYS()将日期参数转换为天数
- UNIX_TIMESTAMP()返回 UNIX 时间戳
- UTC_DATE()返回当前 UTC 日期
- UTC_TIME()返回当前 UTC 时间
- UTC_TIMESTAMP()返回当前 UTC 日期和时间
- WEEK()返回参数的星期数
- WEEKDAY()返回日期参数时一个星期中的第几天
- WEEKOFYEAR()返回日期参数是日历上的第几周 (1-53)
- YEAR()返回日期参数中的年份
- YEARWEEK()返回年份和星期
- CAST()---数据类型转换,CAST (expression AS data_type),如CAST('12'ASint)
- CONVERT()---数据类型转换
- rank () over (partition by A order by B):计算排序时,如果存在相同位次的记录,则会跳过之后的位次。
- dense_rank () over (partition by A order by B):计算排序,即使存在相同位次的记录,也不会跳过之后的位次
- row_number () over (partition by A order by B):赋予唯一的连续位次。
- ASCII()返回最左边字符的数值
- BIN()返回参数的字符串表示形式
- BIT_LENGTH()返回参数的长度(以位为单位)
- CHAR_LENGTH()返回参数中的字符数
- CHAR()返回每个传递的整数的字符
- CHARACTER_LENGTH()和CHAR_LENGTH()相同,返回参数中的字符数
- CONCAT_WS()返回与separator分隔
- CONCAT()返回连接的字符串
- CONV()在不同数字之间转换数字
- ELT()返回索引号处的字符串
- EXPORT_SET()返回一个字符串,使得对于值位中设置的每个位,您将获得一个on字符串,并且对于每个unset位,您将得到一个off字符串
- FIELD()返回后续参数中第一个参数的索引(位置)
- FIND_IN_SET()返回第二个参数中第一个参数的索引位置
- FORMAT()返回格式为指定小数位数的数字
- HEX()返回十六进制值的字符串表示形式
- INSERT()在指定位置插入一个子字符串,直到指定的字符数
- INSTR()返回第一次出现子字符串的索引
- LCASE()同LOWER()
- LEFT()返回指定的最左边的字符数
- LENGTH()返回字符串的长度(以字节为单位)
- LOAD_FILE()加载命名文件
- LOCATE()返回第一次出现子字符串的位置
- LOWER()以小写返回参数
- LPAD()返回字符串参数,用指定的字符串向左填充
- LTRIM()删除前导空格
- MAKE_SET()返回一组逗号分隔的字符串,它们具有设置的位中的相应位
- MID()返回从指定位置开始的子字符串
- OCT()返回八进制参数的字符串表示形式
- OCTET_LENGTH()同LENGTH(),返回字符串的长度(以字节为单位)
- ORD()如果参数的最左边的字符是多字节字符,则返回该字符的代码
- POSITION()同LOCATE(),返回第一次出现子字符串的位置
- QUOTE()转义要在SQL语句中使用的参数
- REGEXP使用正则表达式的模式匹配
- REPEAT()重复字符串指定的次数
- REPLACE()替换指定字符串的出现
- REVERSE()反转字符串中的字符
- RIGHT()返回指定的最右边字符数
- RPAD()追加字符串指定的次数
- RTRIM()删除尾随空格
- SOUNDEX()返回由四个字符组成的代码 (SOUNDEX) 以评估两个字符串的相似性
- SOUNDS LIKE同SOUNDEX()
- SPACE()返回指定数目个空格的字符串
- STRCMP()比较两个字符串
- SUBSTRING_INDEX()返回在分隔符的指定出现次数之前的字符串中的子字符串
- SUBSTRING(), SUBSTR()返回指定的子字符串
- SUBSTRING()---字符串截取,left(被截取字段,截取长度),right(被截取字段,截取长度),substring(被截取字段,从第几位开始截取),substring(被截取字段,从第几位开始截取,截取长度),substring_index(被截取字段,关键字,关键字出现的次数),substr(string string,num start,num length)
- TRIM()删除前导和尾随空格
- UCASE()同UPPER
- UNHEX()将每对十六进制数字转换为一个字符
- UPPER()转换为大写