create function Xtest
(@d1 varchar(3)=null
,@d2 varchar(3)=null)
returns table
as
return
with code_list(code_pattern)
as
(
select x.code_pattern
from (values (@d1),(@d2)) as x(code_pattern)
where x.code_pattern is not null
),y
as
(
select substring(code,1,3) as code
from tblicd
where substring(code,1,3) in
(
select * from code_list
)
)
select * from y
是我的功能,当它完全完成时才有意义。如果我尝试运行此查询并且我不提供两个参数,它将失败。我的代码与存储过程相同,如果我只输入一个参数,它可以正常工作并将第二个参数分配为空。如果没有提供参数,有没有一种方法可以null
作为参数值传递,就像存储过程一样?
该函数确实编译。