暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 使用SQL从XML数据中提取元素

askTom 2017-05-19
168

问题描述

Dear TOM,

I like to extract simple data element from XML data using SQL. Could you please help, 

Option1:

SELECT * 
FROM XMLTable( '/entry/'
     passing xmltype(
 '
 https://toitest1.servicebus.net/oracle1
 oracle1
 2016-11-30T19:32:43Z
 2017-05-02T14:43:51Z
 toitest1
 
 
 
     PT30S
     16384
     false
     false
     P14D
     false
     PT10M
     10true
     357
     1
 
 
 ') 
 columns id varchar2(50) path 'id',
      title varchar2(50) path 'title'
        cnt varchar2(10) path 'QueueDescription/MessageCount'                 
   ) xt

Option2:

SELECT xt.column_value.extract('/entry/id').getstringval()
FROM XMLTable(
      '
 https://toitest1.servicebus.net/oracle1
 oracle1
 2016-11-30T19:32:43Z
 2017-05-02T14:43:51Z
 toitest1
 
 
 
     PT30S
     16384
     false
     false
     P14D
     false
     PT10M
     10true
     3571
 
 
 '                 
   ) xt    

Many Thanks,
Bhavesh

专家解答

两者都很好,但是如果你只需要一个元素,那么选项2似乎更自然,因为SQL更 “自我记录”,即,维护你的代码的人知道你是在显式值之后。


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论