我有一个Table列,其中的内容如下所示:
<div class="customclass recordwidget comments-section" style="margin-bottom:8px; background-color:#f8f8f8; border-bottom:1px solid #f01928;border-top:1px solid #f01928; padding:8px; line-height:1.1;">
<div class="headingcontent"><b style="font-size:15px;"> Mike</b> <b>4/12/2017</b> 17:7:49 </div>
<div class="recordwidget-content">
<p>test</p>
</div>
</div>
根据设计,我们需要将上面的HTML丰富内容删除到简单的值,例如名称,年份和时间,在另一个表中有三个不同的列。
我想在oracle中编写一个存储过程或脚本,它获取每个记录的列值并获取name(Mike),year(4/12/2017)和time(17:7:49)的值和然后推送到具有一些条件的不同列的另一个表。
答案 0 :(得分:0)
试试这个。
select * from xmltable('div/div[1]' passing xmltype('<div class="customclass recordwidget comments-section" style="margin-bottom:8px; background-color:#f8f8f8; border-bottom:1px solid #f01928;border-top:1px solid #f01928; padding:8px; line-height:1.1;">
<div class="headingcontent"><b style="font-size:15px;"> Mike</b> <b>4/12/2017</b> 17:7:49 </div>
<div class="recordwidget-content">
<p>test</p>
</div>
</div>')
columns
name_ varchar2(1000) path 'b[1]/text()'
,date_ varchar2(1000) path 'b[2]/text()'
,time_ varchar2(1000) path 'text()')