首页 文章

Oracle SQL从格式为YYYYMMDDThhmmss的值读取时间戳

提问于
浏览
3

我正在尝试使用Oracle SQL运行以下查询

select to_timestamp('2015/06/20T00:00:00','yyyy/mm/dd hh24:mi.ss.ff') from dual;

但是,这给了我以下错误

ORA-01858:找到了一个非数字字符,其中包含数字

如果我从查询中删除“T”它运行正常并返回预期值,如下所示 .

select to_timestamp('2015/06/20 00:00:00','yyyy/mm/dd hh24:mi.ss.ff') from dual;

我的问题是,有没有办法将包含T的值转换为时间戳或格式总是不正确?

如果您需要和更多信息,请告诉我,我会尽力提供,感谢您的帮助 .

2 回答

  • 2

    只需在双引号中包含其他字符:

    select to_timestamp('2015/06/20T00:00:00','yyyy/mm/dd"T"hh24:mi.ss.ff') from dual
    
  • 6

    你可以使用 replace()

    select to_timestamp(replace('2015/06/20T00:00:00', 'T', ' '),
                        'yyyy/mm/dd hh24:mi.ss.ff'))
    from dual;
    

相关问题