我有一些XML(给出的例子)
<emails>
<email email_id="user1@email.com"/>
<email email_id="user2@email.com"/>
...
<email email_id="user8@email.com"/>
<emails>
我想从每个电子邮件节点获取email_id并将其放入字符串中。例如“user1@email.com,user2 @email.com,user3 @email.com ......”
我猜我需要以某种形式使用xmltable,但除了在select语句中编写它们之外,无法解决如何使用值。
答案 0 :(得分:0)
您可以为此
使用XMLTYPE选项app.js
答案 1 :(得分:0)
SELECT
LISTAGG(emailId, '; ')
WITHIN GROUP(ORDER BY emailId) "EmailList"
FROM
(
select emailId
FROM XMLTABLE('/emails/email'
PASSING
xmltype('
<emails>
<email email_id="user1@email.com"/>
<email email_id="user2@email.com"/>
<email email_id="user8@email.com"/>
</emails>
')
COLUMNS
emailId varchar2(200) PATH './@email_id'
) xmlt
)
;