您的位置:首页 > 数据库

SQL Server ->> XML方法

2015-12-02 11:14 387 查看
1. 得到XML类型中某个节点下子节点的数量

DECLARE @xml xml
SET @xml = '
<Parameters>
<Parameter name = "param_executionid" type="Int64" />
<Parameter name = "param_loadfromsourceSP" type="String" />
<Parameter name = "param_loadtoStageTableSP" type="String" />
<Parameter name = "param_objectname" type="String" />
</Parameters>';

SELECT @xml.value('count(/Parameters/Parameter)', 'int')


2. 把XML转成Table

DECLARE @xml xml
SET @xml = '
<Parameters>
<Parameter name = "param_executionid" type="Int64" />
<Parameter name = "param_loadfromsourceSP" type="String" />
<Parameter name = "param_loadtoStageTableSP" type="String" />
<Parameter name = "param_objectname" type="String" />
</Parameters>';

SELECT T.c.query('.').value('(//@name)[1]', 'varchar(50)') AS A,
T.c.query('.').value('(//@type)[1]', 'varchar(50)') AS B
FROM @xml.nodes('/Parameters/Parameter') T(c)


3. 把结果集转成XML

SELECT parameter_name name, data_type type, ISNULL(default_value,'') value
FROM SSISDB.catalog.object_parameters par
WHERE object_name = 'xxxxx'
ORDER BY par.parameter_id
FOR XML RAW ('Parameter'), ROOT ('Parameters')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: