CREATE FUNCTION dbo.pt( @xklb as nvarchar(20), @hydl as nvarchar(20)='sh', @fzrq as nvarchar(20)) RETURNS int AS BEGIN declare @a int select @a=max(right(许可证号,case @xklb when '普通' then 5 when '临时' then 4 end))+1 from y许可证 where 许可类别=@xklb and 行业大类=@hydl and 年=(@fzrq) RETURN @a END FO
@xklb as nvarchar(20),
@hydl as nvarchar(20)='sh',
@fzrq as nvarchar(20))
RETURNS int
AS
BEGIN
declare @a int
select @a=max(right(许可证号,case @xklb when '普通' then 5 when '临时' then 4 end))+1
from y许可证 where 许可类别=@xklb and 行业大类=@hydl and 年=(@fzrq)
RETURN @a
END
FO
可是调用函数时参数为什么会产生空值呢?同样的参数带入普通的select语句中却是正常的?