@PolicySymbol
可以接受多个值。为此,我正在使用分割字符串函数:StringOfStringsToTable
如果用户选择@ControlNo,那么无论为@PolicySymbol设置什么值,我都希望为该控件带来数据。
如果@PolicySymbol = NULL,无论与哪个策略符号相关,我都希望控制所有数据。
这里是代码示例:create table #Test (ControlNo int, policy_symbol varchar(50))
insert into #Test values (1111, 'CSE'),
(2222, 'PRE'),
(3333, 'CSE'),
(4444, 'GLG'),
(4444, 'PRE'),
(4444, 'GLS')
declare
@ControlNo int = 1111,
@PolicySymbol varchar(50) = NULL
SELECT
DISTINCT ControlNo,policy_symbol
FROM #Test
WHERE ControlNo = COALESCE(@ControlNo, ControlNo)
-- here, if parameter @PolicySymbol IS NULL I want to include all policy symbols
AND policy_symbol IN (SELECT String FROM [dbo].[StringOfStringsToTable] (@PolicySymbol,','))
drop table #Test
我有一个存储过程,其中参数@PolicySymbol可以接受多个值。为此,我正在使用拆分字符串函数:StringOfStringsToTable如果用户选择@ControlNo,那么我想带...
WHERE ControlNo = COALESCE(@ControlNo, ControlNo)
-- here, if parameter @PolicySymbol IS NULL I want to include all policy symbols
AND (
@PolicySymbol is null
or policy_symbol IN (SELECT String FROM [dbo].[StringOfStringsToTable] (@PolicySymbol,','))
)