Regex Oracle-从varchar字符串中提取时间戳?
我有字符串链接:Regex Oracle-从varchar字符串中提取时间戳?,regex,oracle,date,plsql,timestamp,Regex,Oracle,Date,Plsql,Timestamp,我有字符串链接: 'Podlaski Oddział Straży Granicznej Informacja dobowa o zdarzeniach na terenie województwa podlaskiego w dniu 15.04.2013 r.' 我需要从这个字符串中提取日期:day:15,month:4,year:2013,并将检索到的信息放入时间戳(6),如下所示: to_timestamp(v_string) 。。其中v_字符串是检索到的值(在本例中为'13/0
'Podlaski Oddział Straży Granicznej
Informacja dobowa o zdarzeniach na terenie województwa podlaskiego
w dniu 15.04.2013 r.'
我需要从这个字符串中提取日期:day:15,month:4,year:2013,并将检索到的信息放入时间戳(6),如下所示:
to_timestamp(v_string)
。。其中v_字符串是检索到的值(在本例中为'13/04/15')
使用正则表达式实现这一点的最佳方法是什么,以获得本例中的“13/04/15”
SQL> alter session set nls_timestamp_format = 'YYYY-MM-DD HH24:MI:SSXFF';
Session altered.
SQL> with t as (
2 select 'Podlaski Oddział Straży Granicznej
3 Informacja dobowa o zdarzeniach na terenie województwa podlaskiego
4 w dniu 15.04.2013 r.'
5 as original_string
6 from dual)
7 select to_timestamp(regexp_substr(original_string, '\d\d\.\d\d\.\d\d\d\d'), 'DD.MM.YYYY') as the_timestamp
8 from t;
THE_TIMESTAMP
---------------------------------------------------------------------------
2013-04-15 00:00:00,000000000
1 row selected.