1

我有以下数据

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';

但以上查询返回无效月份请建议

4

1 回答 1

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';
于 2012-05-14T06:02:25.043 回答