欢迎来到福编程网,本站提供各种互联网专业知识!
您的位置:网站首页 > 数据库 > MsSql

SQLServer XML数据的五种基本操作

发布时间:2009-07-22 作者: 来源:转载
SQLServerXML数据的五种基本操作语句
1.xml.exist
输入为XQuery表达式,返回0,1或是Null。0表示不存在,1表示存在,Null表示输入为空
2.xml.value
输入为XQuery表达式,返回一个SQL Server标量值
3.xml.query
输入为XQuery表达式,返回一个SQL Server XML类型流
4.xml.nodes
输入为XQuery表达式,返回一个XML格式文档的一列行集
5.xml.modify
使用XQuery表达式对XML的节点进行insert , update 和 delete 操作。
下面通过例子对上面的五种操作进行说明:
declare @XMLVar xml = '


Windows Step By Step
Bill Zack
49.99


Developing ADO .NET
Andrew Brust
39.93


Windows Cluster Server
Stephen Forte
59.99

'
1. xml.exist
select @XMLVar.exist('/catalog/book')-----返回1
select @XMLVar.exist('/catalog/book/@category')-----返回1
select @XMLVar.exist('/catalog/book1')-----返回0
set @XMLVar = null
select @XMLVar.exist('/catalog/book')-----返回null
2.xml.value
select @XMLVar.value('/catalog[1]/book[1]','varchar(MAX)')
select @XMLVar.value('/catalog[1]/book[2]/@category','varchar(MAX)')
select @XMLVar.value('/catalog[2]/book[1]','varchar(MAX)')
结果集为:
Windows Step By StepBill Zack49.99 Developer NULL
3.xml.query
select @XMLVar.query('/catalog[1]/book')
select @XMLVar.query('/catalog[1]/book[1]')
select @XMLVar.query('/catalog[1]/book[2]/author')
结果集分别为:

Windows Step By Step
Bill Zack
49.99


Developing ADO .NET
Andrew Brust
39.93


Windows Cluster Server
Stephen Forte
59.99


Windows Step By Step
Bill Zack
49.99

Andrew Brust
4.xml.nodes
select T.c.query('.') as result from @XMLVar.nodes('/catalog/book') as T(c)
select T.c.query('title') as result from @XMLVar.nodes('/catalog/book') as T(c)
结果集分别为:
Windows Step By StepBill …………
Developing ADO .NETAndrew …………
Windows Cluster ServerStephen …………
Windows Step By Step
Developing ADO .NET
Windows Cluster Server
5.xml.modify
关于modify内容,请参见下一篇文章。

相关推荐