使用SQL操作XML

本文介绍了一种使用T-SQL将XML数据转换为SQL表格的方法,并再次将表格数据转回XML格式的技术。通过具体实例展示了如何解析XML数据并映射到SQL Server的表中,以及如何从SQL Server表导出XML数据。
摘要由CSDN通过智能技术生成

DECLARE @xmlData XML


SET @xmlData = '<SheetData>
     <row ForecastType="Overwrite" Jan="1" Feb="2" Mar="3" Apr="4" May="5" />
     <row ForecastType="Overwrite" Jan="10" Feb="20" Mar="30" Apr="40" May="50" />
    </SheetData>'

 

select @xmlData

 

DECLARE @tmpDT TABLE(ForecastType NVARCHAR(50),
      Jan NVARCHAR(50),
      Feb NVARCHAR(50),
      Mar NVARCHAR(50),
      Apr NVARCHAR(50),
      May NVARCHAR(50))


INSERT @tmpDT
SELECT T.c.value('@ForecastType', 'NVARCHAR(50)') as ForecastType,
       T.c.value('@Jan', 'NVARCHAR(50)') as Jan,
       T.c.value('@Feb', 'NVARCHAR(50)') as Feb,
       T.c.value('@Mar', 'NVARCHAR(50)') as Mar,
       T.c.value('@Apr', 'NVARCHAR(50)') as Apr,
       T.c.value('@May', 'NVARCHAR(50)') as May
FROM @xmlData.nodes('/SheetData/row') T(c)

 

SELECT * FROM @tmpDT

 

SET @xmlData = (SELECT ForecastType, Jan as January, Feb, Mar, Apr, May FROM @tmpDT as row FOR XML AUTO, ROOT('SheetData'))

 

SELECT @xmlData

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值