XML 查询语言,或者 XQuery,是一种专为查询各种类型的 XML 数据的智能和高效的语言。使用 XQuery,您可以通过后者关联的方法对 XML 数据类型的变量和列运行查询。和许多 XML 标准一样,World Wide Web Consortium (W3C) 组织监督着 XQuery 的开发。XQuery 由 Quilt 这种查询语言发展而来,它基于其他多种查询语言,如 XML Path 语言 (XPath) 1.0 版、XML 查询语言 (XQL) 和 SQL。它也把 XPath 2.0 包含为一个子集。因此,如果您有使用 XPath 1.0 的经历,就可以优化您的技能而不必学习全新的查询语言。然而,它比 XPath 1.0 有些显著的增强,例如,类型化、特别的函数、支持更好的迭代、结果的排序、结构等。 SQL Server 2005 提供了更多的 XQuery 功能,它允许在数据层操作 XML 对象。它支持 XQuery 1.0 Working Draft of November 15, 2003 的一个静态类型子集。——问:XQuery 适用什么样的应用情景?
解决方案 »
- 记账网站的数据库设计
- 一个循环统计的问题
- 怎样在SQLSERVER里查到指定行的信息?
- 试用一条SQL语句,选取全部科目都在80以上的学生名单。
- 请问怎么把EXCEL的数据导入到SQL Server2005中
- 关于UPDATE WHERE条件是子查询的问题。
- 关于事务处理
- adodb.connection对象用Execute方法调用sqlserver的存储过程mypro问题.....
- 大家来看看:SQLSERVER数据库中动态汇总数据有什么好办法???
- 怎样在程序中修改Access数据结构?
- 报表生成器能干些什么呢?
- 作为 SQL Server 2005 的一个集成组件,Reporting Services 提供了哪些功能?
有xml的字符處理例子
http://topic.csdn.net/u/20080612/22/c850499f-bce3-4877-82d5-af2357857872.html
-- 1. 使用 sql:column 函数
DECLARE @test xml
SET @test = ''SELECT TOP 1
@test = @test.query('<s>{sql:column("name")}</s>')
FROM sys.objectsSELECT @test
GO
-- 2. 使用 sql:variable 函数
-- 生成 xml 数据
DECLARE @test xml
SET @test = (
SELECT * FROM sys.objects OBJ
FOR XML AUTO, TYPE, ROOT('OBJS')
)-- 对 xml 数据进行查询
DECLARE
@column_name sysname,
@row_no intSELECT
@column_name = N'name', -- 指定查询的属性
@row_no = 4 -- 指定查询第几个OBJ节点SELECT @test
SELECT @test.value('(/OBJS/OBJ[sql:variable("@row_no")]/@*[local-name()=sql:variable("@column_name")])[1]', 'nvarchar(max)')
比如:有上下级关联的一个树,可以定义成XML结构,数据直接存在XML字段中,可以使用 XQuery 按要求查询节点、属性等。
只要你的业务系统存在XML类型的字段,你必然要对其操作,那么这时候你就需要使用XQUERY了.