上一篇是http://www.cnblogs.com/insus/archive/2012/02/25/2367377.html xml.exists()函数演示,而xml.value()函数是接受一个xQuery,并返回得到一个标量值。这里还是继续使用上一篇的数据。
首先创建一个表:
CREATE
TABLE
[
dbo
].
[
tbDevLanguage
] (
[
languages
] xml)
把xml的数据Insert(插入)至刚才创建的表中:
DECLARE
@xml XML
=
'
<Languages>
<language name="VB.NET"/>
<language name="C#"/>
<language name="Java" />
</Languages>
'
INSERT INTO [ dbo ]. [ tbDevLanguage ] VALUES ( @xml)
<Languages>
<language name="VB.NET"/>
<language name="C#"/>
<language name="Java" />
</Languages>
'
INSERT INTO [ dbo ]. [ tbDevLanguage ] VALUES ( @xml)
表中有数据了,我们就可以使用xml.values()函数演练了,现想取得xml的第二个元素/Languages[1]/language[2]:
SELECT
[
languages
].value(
'
/Languages[1]/language[2]/@name
',
'
varchar(40)
')
AS
[
language
]
FROM [ dbo ]. [ tbDevLanguage ]
FROM [ dbo ]. [ tbDevLanguage ]
执行结果: