我正在尝试在合并在单个列中的数据之间添加分隔符,并且尝试这样做时遇到了很多麻烦。
我正在处理一个大型 XML 文件(8+ megs),并试图将数据片段组合成我的数据库的单个列。下面的查询正在执行此操作(有点),但当前没有数据分离。
WITH XmlFile (Contents) AS (
SELECT CONVERT (XML, BulkColumn)
FROM OPENROWSET (BULK 'C:\test.xml', SINGLE_BLOB) AS XmlData
)
SELECT c.value('(name)[1]', 'varchar(max)') AS [Name],
c.value('(stuff)[1]', 'varchar(max)') AS [Stuff]
FROM XmlFile CROSS APPLY Contents.nodes ('(/root/item)') AS t(c)
test.xml 文件:
<root>
<item>
<name>Something</name>
<stuff>
<note>Test 123</note>
<note>Another Test</note>
</stuff>
</item>
</root>
它返回的内容:
这几乎是我想要的!两个注释节点都已合并到一个列中...但我不知道如何在值“测试 123 ,另一个测试”之间添加分隔符
任何帮助将不胜感激!