SQL 规范中定义了很多的函数方法,它们按照应用场景不同可以划分为以下类别,聚合函数、日期时间函数、字符串函数,逻辑函数等等,我们抽取几个较为频繁使用的方法介绍下,其余的留待大家自行研究。
聚合函数:
AVG(column_name):求取结果集某一列的平均值,如果某条记录行该字段NULL,将不参与平均值计算
COUNT(column_name):统计结果集中数据记录行数,即统计有多少条数据
MAX(column_name):返回结果集中某列的最大值
SUM(colunmn_name):求和结果集某列
MIN(column_name):返回结果集中某列的最小值
除此之外,还有一些求标准差,方差
聚合函数的一个特点是,它往往是对整个结果集进行了某种数学运算并返回一个常量数值而非集合。
日期时间函数:
由于日期函数在不同的数据实现来说,很多相同功能的函数具有不同的函数名称,我们这里仅以 MySql 来介绍这些函数,给你一个宏观印象,不同的数据库之间只不过语法差异,搜索引擎就可以解决。
NOW():返回当前日期时间,精确到时分秒
CURDATE():返回当前的日期
CURTIME():返回当前的时间
DATA(日期时间/日期表达式):该函数用于提取参数中的日期部分,参数可为一个时分秒的日期对象,或字符串表达式
EXTRACT(unit FROM date):取出日期时间中指定部分,unit 可取值年、月、日、时分秒等等
DATE_ADD(date,INTERVAL expr type):为指定参数的时间日期添加一个时间间隔
DATEDIFF(date1,date2):返回两个日期时间之间相隔的天数
DATE_FORMAT(date,format):按照指定格式输出指定的日期时间
我们详细说一下最后一个函数,这个函数用于格式化输出一个日期时间对象,format 为指定的格式,取值如下:
举个例子:
select date_format(now(),'年:%Y-月:%m-日:%d');
执行 SQL,将输出:
虽然很奇怪的输出格式,但我要说明的是这种可定制化的日期格式输出函数。
数学函数:
ABS(column_name):求绝对值
PI():返回常量 3.141593
还有一些正弦、余弦,正切,平方根等函数
除此之外,还有很多函数,例如一些操作字符串、文本等等函数,这里不一一赘述了,用到的时候尝试性的搜一搜,看有没有预定义的函数能够解决你的当下需求。