我有以下数据
SELECT T.FEED_TIME from GLRS.FEED_TYPE T
05:00:00 AM
06:00:00 AM
WHERE FEED_TIME是VARCHAR2(20)
现在我必须添加1天来计算下一个运行时间并将其转换为时间戳值
SELECT to_timestamp(T.FEED_TIME,'dd-Mon-yyyy HH24:MI')+1 FROM FEED_TYPE T WHERE T.FEED_CODE = 'CREDIT';
但上面的查询返回的不是有效月份 请建议
答案 0 :(得分:2)
您的varchar2数据和日期格式字符串不匹配。
05:00:00 AM<> dd-Mon-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';