我在Oracle数据库& amp;我需要从论文中提取日期。“备注”列中的数据可以包含带字符或字符和日期的字符串。我只需要将日期填充为空白。
注释
PO发票编号1234
PO发票号34555
addnsd; 2016年1月1日; 2016年1月4日; ssnfdskjnfkjsnfk
andksnd; 2016年1月2日; 2016年2月1日; sdnskjnfk
酒店
装载仪
由于 阿迪提
答案 0 :(得分:0)
\ d {2} / \ d {2} / \ d {4}这将匹配这些日期格式
答案 1 :(得分:0)
你可以试试这个:
with notes(text) as (
select 'PO Invoice number 1234' from dual union all
select 'PO invoice number 34555' from dual union all
select 'addnsd;01/01/2016;01/04/2016;ssnfdskjnfkjsnfk' from dual union all
select 'andksnd;01/02/2016;02/01/2016;sdnskjnfk' from dual union all
select 'Hotel' from dual union all
select 'Loding' from dual
)
select text, listagg(date_string, ';') within group ( order by date_string)
from (
select distinct text, regexp_substr(text, '[0-9]{2}/[0-9]{2}/[0-9]{4}', 1, level) as date_string
from notes
connect by regexp_instr(text, '[0-9]{2}/[0-9]{2}/[0-9]{4}', 1, level) != 0
)
group by text
这使用DISTINCT,因此如果连续多次使用相同的日期,则只会出现1次。