SQL中函数分为聚合函数、数学函数、字符串函数、日期和时间函数、转换函数和元数据函数6种
函数都具有类似的语法,都带括号()
聚合函数
常用的是SUM、AVG、MIN、COUNT、DISTINCT
都具有类似的语法结构和特性,此处以SUM为例
SUM([ALL | DISTINCT] expression)
- ALL对所有值执行此聚合函数
- DISTINCT只对所有唯一值执行此聚合函数
- 返回值是以expression中最精确的类型来返回所有expression值。
- 自动忽略Null
-
AVG不一定返回原类型,见下表
- MIN、MAX不能用于bit、text、image类型,不能使用聚合函数和子查询
- MIN、MAX在整列为Null时返回Null值
- COUNT(*)不需要任何参数,返回指定表中行数,可包含空行。
数学函数
三角函数、EXP、LOG、LOG10、SQUARE、SQRT将输入值转换为float并返回float。其它函数返回与输入值相同类型。
字符串函数
日期和时间函数
Date 函数
函数 | 描述 |
---|---|
GETDATE() | 返回当前日期和时间 |
DATEPART() | 返回日期/时间的单独部分 |
DATEADD() | 在日期中添加或减去指定的时间间隔 |
DATEDIFF() | 返回两个日期之间的时间 |
CONVERT() | 用不同的格式显示日期/时间 |
DAY(date) | 返回date中的天的整数 |
MONTH(date) | 返回date中的月的整数 |
YEAR(date) | 返回date中的年的整数 |
- DATEADD()
DATEADD(datepart,number,date)
date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。
datepart 参数可以是下列的值:
datepart | 缩写 |
---|---|
年 | yy, yyyy |
季度 | qq, q |
月 | mm, m |
年中的日 | day, dy |
日 | dd, d |
周 | wk, ww |
星期 | dw, w |
小时 | hh |
分钟 | mi, n |
秒 | ss, s |
毫秒 | ms |
微妙 | mcs |
纳秒 | ns |
转换函数
数据类型转换
CAST
CAST(expression AS data_type)
CONVERT
CONVERT(data_type[(length)], expression [,style])
不是标准SQL函数,在转换时可以操作数据样式。