如何将字符串转换为日期格式?

How to convert string to date format?

嗨任何人请帮助我...

下面这行是一列数据。

column1:Supplier Setup request submitted on 2016-01-06 06:00:25.141 by WFS ADMINISTRATOR

我想分成两列,如columnAcolumnB:

columnA                   columnB
WFS ADMINISTRATOR        2016-01-06 06:00:25.141

我使用子字符串和字符串函数编写了查询:

select SUBSTR(column1, INSTR(column1,'on',1)+2, INSTR(column1,'by',1)-INSTR(column1,'on',2)-2) as columnB
from xyz 

它工作正常,但我想显示日期格式,如 MM/DD/YYYY HH24:MI:SS

我无法获取日期格式...

假设 columnB 现在包含日期部分:

to_date(columnB,'MM/DD/YYYY HH24:MI:SS');

你得到日期时间部分

regexp_replace(col, '.*on (.*) by.*', '')

您使用

将此类字符串转换为时间戳
to_timestamp(str, 'yyyy-mm-dd hh24:mi:ss.ff') 

然后将时间戳转换为 MM/DD/YYYY HH24:MI:SS 格式的字符串

to_char(ts, 'mm/dd/yyyy hh24:mi:ss')

在一起:

to_char
(
  to_timestamp
  (
    regexp_replace(col, '.*on (.*) by.*', ''), 'yyyy-mm-dd hh24:mi:ss.ff'
  ), 'mm/dd/yyyy hh24:mi:ss'
)