标量函数是数学与数据库领域中输出单个确定值的函数类型,其返回值通常为数值、字符串或日期等基础数据类型,排除TEXT、IMAGE等特殊类型。该函数通过参数传递与逻辑封装实现特定计算,在
Transact-SQL等编程语言中通过函数名、参数声明、返回值类型及函数体构建标准语法结构。
定义
函数体语句定义在BEGIN-END语句内,其中包含了可以返回值的Transact-SQL 命令。
语法
创建标量函数的语法如下:
CREATE FUNCTION [ owner_name.] function_name
( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] )
RETURNS scalar_return_data_type
[ WITH < function_option> [ [,] ...n] ]
[ AS ]
BEGIN
function_body
RETURN scalar_expression
END
举例
创建一个标量函数,在一个
字符串中用字符串1来替换所有的字符串2,并且把结果反转,显示为大写字符结果。
CREATE FUNCTION NoOfChar (@char1 varchar(20),@char2 varchar(20),@char3 varchar(20))
RETURNS varchar(20)
AS
BEGIN
DECLARE @newchar varchar(20)
select @newchar=REPLACE(@char1,@char2,@char3)
, @newchar=REVERSE(@newchar),
@newchar=UPPER(@newchar)
RETURN(@newchar)
END
说明:varchar要加上长度,否则只存储一个字符!