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 step
bill …………
developing ado .net
andrew …………
windows cluster server
stephen …………
windows step by step
developing ado .net
windows cluster server
5.xml.modify
關於modify內容,請參見
原創自csdn tjvictor專欄
sqlserver2008對XML的操作
sqlserver2008對xml的解析 sql對xml資料的操作 declare xml xml set xml student1 student2 student3 student4 student5 1 查詢 select xml.query xml student select xml.qu...
SQL SERVER中XML命名空間
有xml如下 create table a params xml insert into a params values 202014111101 013920130005 name0005 0prod.1000000100088400 msgbody節點聲名了命名空間,用平常的查詢語句是查不到資料...
SQLServer中設定XML索引
xml索引分為主xml索引和次xml索引 1.主xml索引 為了完整 一致的表示xml的值,格式 create primary xml index indexname on tablename columname 2.次xml索引 對於xpath和xquery表示式,可以使用xml次索引 path索...