您的位置:首页 > 数据库

SQL对表中XML列的查询

2010-08-10 17:51 344 查看
先看下数据表:



详细XML:

<Roles>
<Role>CA</Role>
<Role>CentralSite</Role>
<Role>DC</Role>
</Roles>


查询1:

Select Roles.value('(/Roles/Role)[1]', 'nvarchar(20)')
From dbo.MachineConfigs


结果:



查询2:

select (select Roles from MachineConfigs where ID='F16C7025-4E67-4F7F-814D-04D6B5B9387C' ).query('(/Roles/Role[1])')


结果:

<Role>CA</Role>

查询3:

SELECT nref.query('.') LastName FROM MachineConfigs CROSS
APPLY Roles.nodes('/Roles/Role') AS R(nref)




SELECT nref.query('.') LastName FROM MachineConfigs CROSS
APPLY Roles.nodes('/Roles/Role[1]') AS R(nref)


结果:

前者:            后者:(有区别的哦)





判断存在:

SELECT Roles.exist('/Roles/Role') FROM MachineConfigs


结果:

1

1

1

1

相关文章:http://book.51cto.com/art/201007/215493.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: