我在 oracle 表中有一个行字符串。
Some text № 3694452 from 31.08.2013, stilltext 02.09.2013 18:16:27
如何将“02.09.2013 18:16:27”(从行尾和静止文本之后)转换为日期。
假设日期字符串始终位于文本的末尾,您可以使用如下正则表达式:
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;
这假定日期始终位于字符串的末尾并且格式固定。
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
使用正则表达式有更优雅的方法可以做到这一点,但我假设这已经足够了。