Table-valued Functions 表值函数,返回一个表
调用如:
select * from dbo.funname(xxx)
Scalar-valued Functions 标量函数,返回数值
调用如:
select getdate()
引言:上述讲述了SQL Server中 表值函数和标量函数的区别。从调用方式可以看出,这两种函数所返回的值也不一样。在表值函数中,return table,标量函数中,return varchar等类型。表值函数的定义构造请见: http://blog.csdn.net/xie_xiansheng/article/details/52992501
作用:传入六位年月字符串,格式如'YYYYMM',返回去年同期且同等格式字符串
CREATE function preyearperiod(@periodid varchar(6))
returns varchar(8)
as
begin
declare @counter varchar(2),
@yyear int,
@preperiod varchar(6)
select @counter=right(@periodid,2),
@yyear=left(@periodid,4)
select @yyear=@yyear-1
select @preperiod=cast(@yyear as varchar)+cast(@counter as varchar)
return(@preperiod)
end
结果: