Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1033758
  • 博文数量: 146
  • 博客积分: 3444
  • 博客等级: 中校
  • 技术积分: 1602
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-21 15:18
文章分类

全部博文(146)

文章存档

2014年(9)

2013年(3)

2012年(6)

2011年(44)

2010年(38)

2009年(46)

分类:

2009-03-04 09:08:56

 cast (xmlserialize(kk  as clob) as char(100))
 
其中kk表示XML列,char表示最终想要的数据类型,xmlserialize序列化函数,cast是类型转化函数
需要说明的是,cast函数并不能把任意数据类型转化为其它任意数据类型
如不能直接把bigint 转化为varchar类型,但可以把bigint类型直接转化为char类型
xmlserialize(kk  as char(10))也可以
 
 
select count(*) from (
  SELECT ID, XMLQUERY('for $w in $ee/外贸销售/销售单/商品/价格 return $w  ' PASSING  FXML AS "ee")  as kk
  FROM TTXML )   group by  xmlserialize(kk  as char(100))
 
  把XML元素在SQL语句中转换成关系表中的列.
  select t.Comment#, i.itemname, t.CustomerID, Message from items i,
    xmltable('$c/Comments/Comment' passing i.comments as "c"
    columns Comment# integer path 'CommentID',
    CustomerID integer path 'CustomerID',
    Message varchar(100) path 'Message') as t
 
XML元素和关系表中的元素相互嵌入的例子(SQL嵌XML,XML又嵌入关系表元素)
    select clients.name, clients.status from items, clients
    where xmlexists('$c/Comments/Comment[CustomerID=$p]'
    passing items.comments as "c", clients.id as "p")
 
用 SQL 查询 DB2 XML 数据 请参见
阅读(1471) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~