您可以使用此SELECT
将数据传递给Reporting Services
。
SELECT t1.id, t2.splittedDescriptions
FROM
(
SELECT tblTest.id,
CAST('<row>' + REPLACE(tblTest.[Description], CHAR(13) + CHAR(10), '</row><row>') + '</row>' AS XML) as xmlRow
FROM tblTest
) t1
CROSS APPLY
(
SELECT xmlTable.splittedRow.value('.', 'VARCHAR(MAX)') as splittedDescriptions
FROM t1.xmlRow.nodes('/row') AS xmlTable(splittedRow)
) t2
它采用XML
和nodes()
method当它找到一个CRLF
分裂你的描述。
它与单个CRLF
一起使用,如果您需要使用双重CRLF
,您可以简单地修改SELECT
。
示例 - 输入数据:
INSERT INTO tblTest ([id],[Description]) VALUES
(1, 'val11, val12, val13' + CHAR(13) + CHAR(10) + 'val21, val22, val23')
INSERT INTO tblTest ([id],[Description]) VALUES
(2, 'val31, val32, val33')
INSERT INTO tblTest ([id],[Description]) VALUES
(3, 'val41, val42, val43' + CHAR(13) + CHAR(10) + 'val51, val52, val53' + CHAR(13) + CHAR(10) + 'val61, val62, val63')
示例 - 输出:
id splittedDescriptions
----------- --------------------
1 val11, val12, val13
1 val21, val22, val23
2 val31, val32, val33
3 val41, val42, val43
3 val51, val52, val53
3 val61, val62, val63
Gihan,是分组你正在寻找总是以格式 “值N”,其中N是一些单个位数字?制作新线的标准是什么?此表中还有其他栏目吗?如果您为此表提供了DDL,那将会很有帮助。 – Michael 2014-10-28 21:15:56
请找到以上更新的要求。谢谢 – 2014-10-29 06:43:29
你想把回车作为分隔符? – pancho018 2014-10-29 10:46:53