我写了一个用户定义的函数,它将price作为输入参数,如果输入大于零则返回。 https://stackoverflow.com/editing-help 我尝试过如下。
create function fn_GreateCheck(@value int)
returns varchar(20)
as
begin
select case
when @value >0 then 'Greater'
when @value <0 then 'Lesser'
end
return @value
end
请帮我解决这个问题
感谢。
答案 0 :(得分:1)
尝试这样的事情:
create function dbo.fn_GreateCheck(@value int)
returns varchar(20)
as
begin
declare @ret VARCHAR(20) = (case
when @value >0 then 'Greater'
when @value <0 then 'Lesser'
else 'Zero'
end)
return @ret
end
GO
select dbo.fn_GreateCheck (1000) --> Greater
select dbo.fn_GreateCheck (-10) --> Lesser
select dbo.fn_GreateCheck (0) --> Zero
select dbo.fn_GreateCheck (NULL) --> Zero
GO
用户定义的函数无法将数据返回给客户端,因此您必须在变量中捕获结果并返回值。要返回结果集,您必须定义Table-value user defined function。