[oracle]varchar2 为时间戳

标签: oracle11g Oracle
发布时间: 2017/4/15 19:09:26
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有以下的数据

SELECT T.FEED_TIME from GLRS.FEED_TYPE T 

05:00:00 AM
06:00:00 AM

VARCHAR2(20) FEED_TIME 在哪里

现在,添加 1 天计算下次运行的时间,并将其转换为一个时间戳值

SELECT to_timestamp(T.FEED_TIME,'dd-Mon-yyyy HH24:MI')+1 FROM FEED_TYPE T WHERE T.FEED_CODE = 'CREDIT';

但以上查询返回不是一个有效的月请建议

解决方法 1:

您的 varchar2 数据和您的日期格式字符串不匹配。

5:00 上午 <> dd-星期一-yyyy HH24:MI

看起来像您的数据只包含时间,但既然你提到 '添加一天',我会大胆地猜想和假设前两个字符是你的一天,而剩下的就是时间。然后你需要的东西如下︰

SELECT to_char(to_date(T.FEED_TIME,'dd:HH:MI AM')+1, 'dd:HH:MI AM')
FROM FEED_TYPE T WHERE T.FEED_CODE = 'CREDIT';
官方微信
官方QQ群
31647020