22.创建标量函数
标量函数是指函数体包含一条或多条SQL语句,这些语句以begin开始,并以end结束。创建用户自定义函数用create function语句,而创建标量函数需要create function与begin……end一起配合使用。
22.1 创建标量函数语法
create function 名称
([{@参数名称 参数类型[=默认值]}[,n]])
returns 返回值类型
[with encryption]
[as]
begin
函数体
return 函数返回值
end
22.2创建标量函数实例
要求:创建用户自定义标量函数get_weekday
语句如下:
create function get_weekday
(@date datetime)
returns int
as
begin
return datepart(weekday,@date)
end
执行结果:
调用该函数,返回今天是一周的第几天。
select dbo.get_weekday(convert(datetime,'20110421',101))
执行结果:
注:在调用自定义标量函数时,必须指明函数的拥有者,比如本例中必须带dbo,否则不可识别。
参数名称前必须加@
returns子句固定了函数返回的类型,该类型不可为image,text,ntext等数据类型。
如果指定了with encryption,则创建函数被加密。