0

我在 oracle 表中有一个行字符串。

Some text № 3694452 from 31.08.2013, stilltext 02.09.2013 18:16:27

如何将“02.09.2013 18:16:27”(从行尾和静止文本之后)转换为日期。

4

2 回答 2

1

假设日期字符串始终位于文本的末尾,您可以使用如下正则表达式:

select
  to_date(
    regexp_substr(your_column_name, '\d{2}.\d{2}.\d{4} \d{2}:\d{2}:\d{2}$'),
    'dd.mm.yyyy hh24:mi:ss')
from you_table_name;
于 2013-10-02T01:52:16.967 回答
0

这假定日期始终位于字符串的末尾并且格式固定。

with dummy as 
  (select '3694452 from 31.08.2013, stilltext 02.09.2013 18:16:27' data
   from dual)
select to_date(substr(data,length(data)-19), 'MM.DD.YYYY HH24:MI:SS') 
from dummy

使用正则表达式有更优雅的方法可以做到这一点,但我假设这已经足够了。

SQL Fiddle 演示在这里

于 2013-10-02T01:41:20.003 回答