我如何在Oracle中获取子字符串

时间:2013-10-02 01:18:01

标签: oracle substring

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

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

我如何拍摄“02.09.2013 18:16:27”(从行尾和静止文字后) 将其转换为日期。

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分: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 demo here