Chinaunix首页 | 论坛 | 博客
  • 博客访问: 844335
  • 博文数量: 105
  • 博客积分: 636
  • 博客等级: 中士
  • 技术积分: 1704
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-11 10:57
文章分类

全部博文(105)

文章存档

2017年(4)

2016年(9)

2015年(18)

2014年(16)

2013年(34)

2012年(24)

分类: Oracle

2016-10-19 16:40:10

版本:oracle 11g r2 
今天遇到一个需求,原本存入在库里的数据是一个xml格式的数据,怎样展示出想要的一个键值。
oracle 在存储xml文件时常用的方式:1指定字段类型为clob 2.指定字段类型为xmltype
xmltype是oracle专门存放xml类型用的。
例:
create table t_xml(id int,content xmltype)
在定义的时候可以为xml专门定义成xmltype类型
如果是xmltype类型的字段 想要获取里面的键值可以直接使用extractvalue()函数 例:
select id,extractvalue(content,'/nodename1/nodename2') from table
其中nodename是键
如果content是clob的字段 ,需要先将字段转换成xmltype类型的字段
select id,extractvalue(xmltype(content),'/nodename1/nodename2') from table;
需要说明:
nodename1这个层次可以有多层,最后一项不要/  ,这个是返回一个值

阅读(2639) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~