【问题标题】:Oracle - extract timestamp from varchar string?Oracle - 从 varchar 字符串中提取时间戳?
【发布时间】:2013-06-26 04:25:42
【问题描述】:

我有这个字符串链接:

'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 并将检索到的信息放入 timestamp(6) 中,如下所示:

to_timestamp(v_string)

.. 其中 v_string 是检索值(在本例中为 '13/04/15')

使用正则表达式执行此操作的最佳方法是什么,以便在此示例中获得 '13/04/15' 作为结果?

【问题讨论】:

    标签: regex oracle date plsql timestamp


    【解决方案1】:
    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.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多