我有 SQL 表:
Create table
(
ID varchar(50) not null,
Action nvarchar(max) null
)
操作列包含 XML 数据。
格式:
<?xml version="1.0" encoding="UTF-8"?>
<oo_outbound_order>
<oo_master>
<Code>123</Code>
<Name>Branan</Name>
</oo_master>
</oo_outbound_order>
如何解析此列?结果应该是这样的:
CODE NAME
123 Branan
最佳答案
有很多关于使用 TSQL 解析 xml 的教程文章。例如,http://www.sqlserver.info/syntax/parse-xml-with-sql-server/
DECLARE @xml xml
SET @xml =
'<?xml version="1.0" encoding="UTF-8"?>
<oo_outbound_order>
<oo_master>
<Code>123</Code>
<Name>Branan</Name>
</oo_master>
</oo_outbound_order>'
SELECT
n.value('(./Code/text())[1]','int') as CODE
, n.value('(./Name/text())[1]','Varchar(50)') as NAME
FROM @xml.nodes('/oo_outbound_order/oo_master') as a(n)
关于sql - 如何解析 SQL server 表中的 XML 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52255947/