ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SQL Server 中对XML数据的五种基本操作

SQL Server 中对XML数据的五种基本操作

原创 Linux操作系统 作者:iSQlServer 时间:2009-10-14 14:42:29 0 删除 编辑

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内容,请参见

http://blog.csdn.net/tjvictor/archive/2009/07/21/4368496.aspx

 

原创自CSDN TJVictor专栏

http://blog.csdn.net/tjvictor/archive/2009/07/21/4368511.aspx

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16436858/viewspace-616530/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-17

  • 博文量
    1319
  • 访问量
    2077642