sql SQL:使用XML拆分字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql SQL:使用XML拆分字符串相关的知识,希望对你有一定的参考价值。

-- Splits a forward-slash delimited value using XML node names
-- COMPANY/COUNTRY/STATE_ABBR/CITY/OFFICE/BUILDING_CODE/NETWORK_TYPE
-- 1. Replace the forward-slash with the end tag and beginning of next tag '/><'
-- 2. Replace any space characters with an underscore character (Node names cannot contain spaces)
-- 3. Add tag start '<' to value
-- 4. Add tag end '/>' to value
-- 5. Cast value as XML
-- 6. Query XML for all node names, returning the 6th value (BUILDING_CODE)
-- 6. Case XML.query as VARCHAR
DECLARE @value VARCHAR(MAX)
SET @value = 'COMPANY/COUNTRY/STATE_ABBR/CITY/OFFICE/BUILDING_CODE/NETWORK_TYPE'
REPLACE(CAST(CAST('<' + REPLACE(REPLACE(@value, '/', '/><'), ' ', 'AAAAAA') + '/>' AS XML).query('local-name((//*)[6])') AS VARCHAR(MAX)), 'AAAAAA', ' ')

以上是关于sql SQL:使用XML拆分字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何拆分包含 XML 字符串的 SQL 字段

sql 使用XML拆分MS SQL

SQL:使用分隔符值拆分字符串

SQL - 使用多次出现的“/”拆分字符串

SQL:使用 SQL 将两个逗号分隔的字符串拆分为单独的索引行

当内容在单引号中时,使用 PowerShell 将 SQL 文件/字符串拆分为批处理排除拆分