Welcome 微信登录

首页 / 数据库 / MySQL / SQL Server2005中用XQuery分解XML数据

本文讨论SQL Server 2005的新功能,它允许你将XML数据分解到关系格式中,而不必耗用太多内存。我们首先了解一下XQuery和它在SQL Server 2005中为开发者提供的功能。 XQuery介绍 XQuery也称作XML Query,是一种查询XML数据的语言,允许你提取所需的节点和元素。它由W3C定义,可用于今天的大多数主流数据库引擎中,如Oracle、DB2和SQL Server。 SQL Server 2005 XQuery函数 下面的四个函数是SQL Server 2005中的XQuery函数。(注意,XML、XQuery语句和下面的函数都区分大小写。例如,SQL编译器接受XML数据中的.exist,但拒绝.EXIST或.Exist。) xml.exist 这个方法根据一个XML节点上的搜索表达式返回一个布尔值。例如,XML代码片段中的语句将返回1(真):
SELECT @x.exist("/christmaslist/person[@gift = "socks"]")
这个语句返回0(假):
SELECT @x. exist ("/christmaslist/zach")
由于“Socks”一词被封套,这个语句将返回0(假)。
SELECT @x.exist("/christmaslist/person[@gift = "socks"]")<B>xml.value</b>
这个方法接受一个XQuery语句并返回一个单独值。使用同样的XML代码片段,不可以使用VALUE函数生成“betty”值,如下所示:
SELECT @x.value("/christmaslist[1]/person[1]/@name", "VARCHAR(20)")
而XQuery生成“zach”值。
SELECT @x.value("/christmaslist[1]/person[2]/@name", "VARCHAR(20)")
xml.query 这个方法接受一个XQuery并返回一个XML数据类型的实例。可以按需要将这些查询简单或复杂化,下面是一个简单的例子:
SELECT @x.query("/christmaslist/person")
它返回XML文件:
<person name="betty" gift="camera" /><person name="zach" gift="elmo doll" /><person name="brad" gift="socks" />
  • 1
  • 2
  • 下一页
【内容导航】
第1页:SQL Server2005中用XQuery分解XML数据第2页:SQL Server2005中用XQuery分解XML数据
将Oracle的数据倒入EXCEL中的方法检测和解决 SQL Server2000 SP4中问题相关资讯      SQL Server2005  XQuery 
  • 用OPENXML将XML数据转换为关联数据  (04/24/2007 08:39:34)
  • SQL Server2005学习笔记  (04/19/2007 06:52:02)
  • 图解配置SQL Server2005 express与  (04/19/2007 06:47:46)
  • SQL Server2005数据库连接中常见问  (04/19/2007 06:54:07)
  • SQL Server 2005最简单的模糊查找  (04/19/2007 06:51:33)
  • C#实现远程连接SQL Server2005的步  (04/19/2007 06:46:49)
本文评论 查看全部评论 (0)
表情: 姓名: 字数