sql 使用XML拆分MS SQL
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 使用XML拆分MS SQL相关的知识,希望对你有一定的参考价值。
DECLARE @IDs NVARCHAR(300) = '1,2,3,4,5,6,7' ,
@Split CHAR(1) = ',' ,
@X XML;
-- Style 1
SELECT @X = CONVERT(XML, ' <root> <s>'
+ REPLACE(@IDs, @Split, '</s> <s>')
+ '</s> </root> ');
SELECT @X;
-- [ Mid Format ]
-- <root><s>1</s>...<s>7</s></root>
SELECT [Value] = T.c.value('.', 'varchar(20)')
FROM @X. nodes('/root/s') T ( c );
-- OR Style 2
SELECT T2.item.value('(./text())[1]', 'int') [Value]
FROM ( SELECT CONVERT(XML, '<items><t>' +
REPLACE(@IDs, ',', '</t><t>') +
'</t></items>') AS xmldoc
) AS xmltable
CROSS APPLY
xmltable.xmldoc.nodes('/items/t') AS T2 ( item );
-- [ OUTPUT ]
-- Value
-- 1
-- 2
-- 3
-- 4
-- 5
-- 6
-- 7
以上是关于sql 使用XML拆分MS SQL的主要内容,如果未能解决你的问题,请参考以下文章
sql SQL:使用XML拆分字符串
在 SQL 中使用 xml 标签拆分字符串
MS SQL 拆分逗号并检索字段
MS SQL 拆分逗号并检索字段
编辑器中的 ms-access VBA 长 sql 查询字符串行拆分(内联双引号)
MS-Access/SQL 拆分:如果我将其移动到不同的文件夹,前端安全性会发生变化