概括:函数是由一个或多个T-SQL语句组成的子程序,是一组可用于封闭实现一定功能的程序代码,函数使代码便于重复使用。
类别:
1、聚合函数
聚合函数对一个组值执行计算,并返回单个值。除了 COUNT 以外,聚合函数都会忽略空置。聚合函数经常与 SELECT 语句的 GROUP BY字句一起使用。常用的聚合函数包括 AVC、COUNT、MAX、MIN、SUM。
函数
作用
avg
返回表达式中的总数返回表达式的平均值
count
返回表达式中的总数
min
返回表达式中的最小值
max
返回表达式中的最大值
sum
返回表达式中的和
具体事例:
表名为Customers,列名有ID,Name,Country,Sex,Num
实现代码:
select COUNT(*) 总计 from Customers
select Country,COUNT(*) from Customers group by Country
select min(num) 最小值 from Customers
select max(num) 最大值 from Customers
2、日期和时间函数
使用日期和时间函数可以方便地对日期进行显示、比较、截取等操作,常用的日期和时间函数包括 GETDATE、DATENAME、DATEPART、DAY、MONTH、YEAR、DATEDIEF、DATEADD。
函数
作用
GETDATE
返回当前计算机的日期和时间
DATENAME
返回表示指定日期的指定datepart 的字符串
DATEPART
返回表示指定的date和指定的datepart 的整数
DAY
返回表示指定的date中的“日”部分的整数
MONTH
返回表示指定的date中的“月”部分的整数
YEAR
返回表示指定的date中的“年”部分的整数
DATEDIEF
返回两个指定日期之间所夸的日期或者时间datepart边界的数目
DATEADD
通过加一个时间间隔指定date的指定datepart相加,返回一个新的datepart值
3、自定义函数
自定义函数就是为了提高代码的复用性,下图中的代码就是一个标准的无传入参数无返回值的自定义函数
--定义一个函数,如果参数1返回男,参数0返回女
go
create function ConverSex(
@sex bit
)
returns varchar(4)
as
begin
declare @rsSex varchar(4)
if(@sex=1)
select @rsSex='男'
else
select @rsSex='女'
return @rsSex
end
--函数调用
select *,dbo.ConverSex(sex) from Customers