SQL中包含以下几种类型的函数:
聚合函数 它对其应用的每个行集返回一个值。
AVG(表达式) 返回表达式中所有的平均值。仅用于数字列并自动忽略NULL值。
COUNT(表达式) 返回表达式中非NULL值的数量。可用于数字和字符列。 COUNT(*) 返回表中的行数(包括有NULL值的列)。
MAX(表达式) 返回表达式中的最大值,忽略NULL值。可用于数字、字符和日期时间列。
MIN(表达式) 返回表达式中的最小值,忽略NULL值。可用于数字、字符和日期时间列。
SUM(表达式) 返回表达式中所有的总和,忽略NULL值。仅用于数字列。
日期函数
由于日期不能直接执行算术函数,所以日期函数就十分有用。
当前系统日期、时间
select getdate()
dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000
datediff 返回跨两个指定日期的日期和时间边界数。
select datediff(day,'2004-09-01','2004-09-18') --返回:17
datepart 返回代表指定日期的指定日期部分的整数。
select DATEPART(month, '2004-10-15') --返回 10
datename 返回代表指定日期的指定日期部分的字符串
select datename(weekday, '2004-10-15') --返回:星期五
day(), month(),year() --可以与datepart对照一下
select 当前日期=convert(varchar(10),getdate(),120)
,当前时间=convert(varchar(8),getdate(),114)
select datename(dw,'2004-10-15')
select 本年第多少周=datename(week,'2004-10-15')
,今天是周几=datename(weekday,'2004-10-15')
数字函数 对数字值执行代数运算。
ABS(num_expr) 返回数值表达式的绝对值。
FLOOR(num_expr) 返回小于或等于数值表达式的最大整数
CEILING(num_expr) 返回大于或等于数值表达式的最小整数
PI() 返回常量值3.1415926535897931select
RAND([seed]) 随机返回的到0-1之间的近似浮点值,可以对seed指定为整数表达式(可选)。
ROUND(num_expr,length) 对数值表达式截取指定的整数长度,返回四舍五入后的值。
字符串函数 可用于binary 和varbinary数据类型列,但主要用于char和varchar数据类型。
Expr1+expr2 返回两个表达式的组合形式的字符串。注意int类型
LEN(char_expr) 返回字符表达式的长度。
LOWER(char_expr) 将字符表达式全部转换为小写。
LTRIM(char_expr) 返回删除掉前面空格的字符表达式。
REVERSE(char_expr) 反转字符表达式。
RIGHT(char_expr,int_expr) 返回从字符表达式最右端起根据指定的字符个数得到的字符。
RTRIM(char_expr) 返回删除掉其后空格的字符表达式。
SPACE(int_expr) 返回包含指定空格数的字符串。
SUBSTRING(char_expr,start,length) 返回从字符表达式的指定位置开始,截取指定长度得到的字符集。
UPPER(char_expr) 将字符表达式全部转换为大写