STRING 值的 SSRS 隐藏参数逻辑方法

SSRS Hidden Parameter Logic Approach For STRING values

DECLARE @rpmProvider varchar(MAX) = 'Prudhvi, raj,Lalith, Kumar';


CREATE TABLE #PrvFilt(ID varchar(50))
DECLARE @xml xml
BEGIN
   SET @xml = cast(('<X>' + @rpmProvider + '</X>') as xml)
   INSERT INTO #PrvFilt (ID)
   SELECT N.value('.', 'varchar(50)') as value
   FROM @xml.nodes('X') as T(N);
END;

SELECT  * from #PrvFilt
DROP TABLE #PrvFilt

实际输出:

Prudhvi, raj,Lalith, Kumar

预期输出:

  1. Prudhvi, raj
  2. Lalith, Kumar

您查询的问题是您没有用 XML 分隔各个名称。

很遗憾,您的名字和姓氏用逗号分隔,全名也用逗号分隔。

IF 你的名字和姓氏 总是 有一个 逗号和一个 space 但整个名称将仅由逗号分隔,那么这应该有效。

DECLARE @rpmProvider varchar(MAX) = 'Prudhvi, raj,Lalith, Kumar';

DECLARE @xml xml
DECLARE @XMT_TEXT AS VARCHAR(200)

SET @XMT_TEXT = REPLACE(REPLACE(REPLACE(@rpmProvider, ', ', '|'), ',', '</X><X>'), '|', ', ')
SET @xml = cast(('<X>' + @XMT_TEXT + '</X>') as xml)


SELECT N.value('.', 'varchar(50)') as value
FROM @xml.nodes('X') as T(N);