我在oracle中解析一个XML clob,我有一个像这样的多项序列的情况:
<ns2:UserID dateTime="2016-02-10T17:25:02.435-05:00" name="Indi Psit" note="review" userType="CompletedBy" />
<ns2:UserID dateTime="2016-02-10T17:25:02.501-05:00" name="Indi Psit" note="review" userType="InProgressBy" />
<ns2:UserID dateTime="2016-02-10T17:31:18.379-05:00" name="Indi Psit" note="accept" userType="ActionBy" />
我可以通过执行以下操作从此序列中获取max(dateTime):
OfferUpdateDate varchar2(30) PATH'max(/off:Users/typ:UserID/@dateTime/xs:dateTime(.))'
但我想从UserID元素中获取“name”属性,其中dateTime = max(dateTime)来自序列。我该怎么做?
答案 0 :(得分:0)
这是获取name
元素的UserID
属性的一种可能的XPath,其中dateTime
属性等于最大dateTime
(为了便于阅读而包装):
/off:Users/typ:UserID[
@dateTime/xs:dateTime(.) eq max(/off:Users/typ:UserID/@dateTime/xs:dateTime(.))
]/@name