SQL Server2005的XML数据类型之基础篇
发布时间:2006-09-17 12:24:37 来源:天极开发 网友评论 0 条 exist方法
这个exist方法用于决定是否一个查询能够产生任何结果。这个exist方法的语法形式如下:
当你使用这个exist方法时,它计算这个XQuery查询,并且如果该查询产生任何结果的话返回值1。例如,下面语句查询小组表行中是否TeamDoc域中存有Starter投手:
--下面是简单的Exist语句:
value方法
当你不想解释整个查询的结果而只想得到一个标量值时,这个value方法是很有帮助的。这个value方法用于查询XML并且返回一个原子值。这个value方法的语法如下:
借助于value方法,你可以从XML中得到单个标量值。为此,你必须指定XQuery语句和你想要它返回的数据类型,并且你可以返回除了XML数据类型外的任何数据类型。例如,如果你想得到每一个小组中的第一个投球手的名字,你可以编写如下形式的查询语句:
--进行一次查询以得到单个值
在每一个小组的第一个投球手的标量值中的这个查询结果返回值如下:
注意,query和value方法之间的不同在于,query方法返回一个XML数据类型-它包含查询的结果;而value方法返回一个带有查询结果的非XML数据类型。另外,value方法仅能返回单个值(或标量值)。如果你试图创建一个使用value方法返回多于一个值的XQuery表达式,你将得到一个错误。
这个exist方法用于决定是否一个查询能够产生任何结果。这个exist方法的语法形式如下:
| exist(XQuery) |
当你使用这个exist方法时,它计算这个XQuery查询,并且如果该查询产生任何结果的话返回值1。例如,下面语句查询小组表行中是否TeamDoc域中存有Starter投手:
--下面是简单的Exist语句:
| SELECT Count(*) FROM Team WHERE TeamDoc.exist( '/Team/Players/Pitcher[@role="Starter"]') = 1 |
value方法
当你不想解释整个查询的结果而只想得到一个标量值时,这个value方法是很有帮助的。这个value方法用于查询XML并且返回一个原子值。这个value方法的语法如下:
| value(XQuery,datatype) |
借助于value方法,你可以从XML中得到单个标量值。为此,你必须指定XQuery语句和你想要它返回的数据类型,并且你可以返回除了XML数据类型外的任何数据类型。例如,如果你想得到每一个小组中的第一个投球手的名字,你可以编写如下形式的查询语句:
--进行一次查询以得到单个值
| SELECT TeamDoc.value( '(/Team/Players/Pitcher/@name)[1]', 'nvarchar(max)') AS FirstPitcher FROM Team |
在每一个小组的第一个投球手的标量值中的这个查询结果返回值如下:
| FirstPitcher ------------------------------ John Smoltz (1 row(s) affected) |
注意,query和value方法之间的不同在于,query方法返回一个XML数据类型-它包含查询的结果;而value方法返回一个带有查询结果的非XML数据类型。另外,value方法仅能返回单个值(或标量值)。如果你试图创建一个使用value方法返回多于一个值的XQuery表达式,你将得到一个错误。
- 推荐阅讯
- 拷贝的SQLServer7数据库的恢复方法
- SQL Server 2005数据加密技术应用研究
- SQL SERVER 2005中的同步复制技术
- SQL Server 2005-如何在SQL Server用户自订
- SQL Server中六种数据移动的方法
- SQL Server2005的XML数据类型之基础篇
- SQL Server2005代码安全之权限
- 剖析SQL Server2005 SQLCLR代码安全性
- 剖析SQL Server 2005查询通知之基础篇
- 如何紧急恢复SQL Server主数据库
- 阅读排行
- 1.SQL Server 2000安装不成功的解决办法
- 2.SQL Server数据导入导出工具BCP详解
- 3.如何紧急恢复SQL Server主数据库
- 4.用SQL 2005的ROW_NUMBER() 实现分页功能
- 5.SQL Server2005的XML数据类型之基础篇
- 6.SQL SERVER 2005中的同步复制技术
- 7.SQL Server 2005-如何在SQL Server用户自订
- 8.拷贝的SQLServer7数据库的恢复方法
- 9.SQL Server 2000遇到的两个问题及其解决办法
- 10.SQL Server 2005数据加密技术应用研究
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
