根据我的问题SSRS selecting results based on comma delimited list
是否可以这样做,但不是像EQUALS
这样做,可以按照以下方式完成吗?
WHERE value like 'abc%','def%'
需要注意的一点是%
未包含在列表中。
答案 0 :(得分:0)
一种选择是将传入的SSRS变量(CSV)拆分为表并加入
DECLARE @tab TABLE (Col1 NVARCHAR(200))
INSERT INTO @tab (Col1)
VALUES (N'abc'),(N'def'),(N'xyz'),(N'nop'),(N'ghi'),(N'lmn')
DECLARE @substrings NVARCHAR(200) = 'abc,def,ghi'
;WITH cteX
AS( --dynamically split the string
SELECT Strings = y.i.value('(./text())[1]', 'nvarchar(4000)')
FROM
(
SELECT x = CONVERT(XML, '<i>'
+ REPLACE(@substrings, ',', '</i><i>')
+ '</i>').query('.')
) AS a CROSS APPLY x.nodes('i') AS y(i)
)
SELECT
T.*
FROM @tab T
INNER JOIN cteX X ON X.Strings = T.Col1
给出以下结果