易截截图软件、单文件、免安装、纯绿色、仅160KB

DB2 SQL/XML使用

函数:
XMLPARSE:解析字符或者大对象二进制数据,产生XML
XMLSERIALIZE:将XML值转换为字符或者大对象二进制数据
XMLVALIDATE:根据XML schema校验XML值的有效性
XMLEXISTS:检测XQuery是否返回结果(如由一个或多个项所组成的序列)
XMLQUERY:执行一个XQuery并以一个序列返回结果
XMLTABLE:执行一个XQuery,以关系数据表形式返回结果(如果可能的话)
XMLCAST:XML类型转换
XMLEXISTS:
SELECT name from clients
WHERE xmlexists(
'$c/Client/Address[zip="95116"]'
passing clients.contact as "c"

说明: 
在WHERE子句中调用XMLEXISTS函数,参数指定了XML路径表达式,DB2据此导航到XML文档邮编元素并且查找值 95116。 “$c/Client/Address”指定了DB2在XML文档中定位邮编元素的路径。美元符号($)用来指定变量。passing clients.contact as "c"对变量c进行定义。这里,“clients”是表名,“contact”是 XML列的列名。换言之,XML文档传递给了变量c。 DB2检索“contact”列中的XML数据,从根节“client”向下,通过节点“Address”到节点“zip”,经过目标邮编匹配检查判断该客户是否居住在目标地区。
在DB2 9.5中进行了简化:
SELECT name from clients
WHERE xmlexists(
'$CONTACT/Client/Address[zip="95116"]'

XMLQuery:
SELECT xmlquery('$c/Client/email' passing contact as "c")
from clients
WHERE status = 'Gold' 
使用XQuery FLWOR表达式中的for:
SELECT name, xmlquery(
‘for $e in $c/Client/email[1] return $e’
passing contact as “c”
)
from clients
WHERE status = ‘Gold’ 
SELECT xmlquery('for $e in $c/Client/email[1]/text()
return <p>{$e}</p>'
passing contact as "c")
from clients
WHERE status = 'Gold' 
XQuery的FLWOR表达式 FLWOR是几个词首字母的缩写: 
„FOR:对序列进行迭代 
LET:绑定变量 
WHERE:定义过滤器 
ORDER:将过滤结果排序
RETURN:返回查询结果 
实例:
CREATE TABLE dept(deptID CHAR(8),deptdoc XML);  
将如下XML文档插入到deptdoc列:


相关文档:

SQL去除某一字段值重复记录的方法

原理:对需要去重复记录的字段按组排序,然后取其中一条记录。在总查询语句中使用in语法过滤
去掉重复记录
select * from company where comid in (select Max(comid) from company group by companyname)
得到重复记录数
select * from company where comid not in (select Max(comid) from company group by companyn ......

动态SQL基本语法

 1 :普通SQL语句可以用exec执行
Select * from tableName
exec('select * from tableName')
exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N
2:字段名,表名,数据库名之类作为变量时,必须用动态SQL
declare @fname varchar(20)
set @fname = 'FiledName'
Select @fname fr ......

讲解SQL Server中容易混淆的数据类型


讲解SQL Server中容易混淆的数据类型
(1)char、varchar、text和nchar、nvarchar、ntext 
  char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应 ......

如何把Access转成SQL Server的方法介绍


如何把Access转成SQL Server的方法介绍
很多朋友想用SQL 2000数据库的编程方法,但是却又苦于自己是学Access的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---将Access转化成SQL 2000的方法和注意事项。首先,我说的是在Access 2000,SQL 2000之间转换,其他的我也还没有尝试过,希 ......

SQL Server日期处理datetime和date之间的相互转换

 
日期类型概述
SQL Server中的日期类型包括datetime和smalldatetime,仅能处理可以识别为1753年~9999年间的日期的值,没有单独的日期型或时间型。
1.datetime
datetime类型处理从1753年1月1日~9999年12月31日的日期和时间数据,精确度为百分之三秒。
即:对于0.000~0.001、0.009的日期值,调整为0.000;对于 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号