繁体   English   中英

如何在Oracle时间戳中添加秒

[英]how to add second in oracle timestamp

如何在Oracle中添加带有时间戳值的秒数。 我尝试了这个....

SELECT CURRENT_TIMESTAMP , CURRENT_TIMESTAMP+200 AS addedTime FROM dual

但是通过这个我得到了

2018-06-04 19:03:01 => 2018-12-21 19:03:01(添加200之后)

如您所见,日期正在添加,但我只想添加第二个...

该SQL在DB2中正常运行,可以在Oracle中向我提出任何合适的替代方案。

您可以始终使用分数(对于Oracle 1 = 1天):

SELECT CURRENT_TIMESTAMP ,
       CURRENT_TIMESTAMP + 200 *(1/24/60/60) AS addedTime 
FROM dual;
<=>
SELECT CURRENT_TIMESTAMP + 200/86400 FROM dual

DBFiddle演示

要么:

SELECT CURRENT_TIMESTAMP + INTERVAL '200' SECOND FROM dual

在Oracle中,日期/时间算术以天数表示。 因此,添加200将为Oracle DATETIMESTAMP对象增加200天。 如果要增加秒数,则可以使用间隔,也可以增加小数天。 就个人而言,我喜欢使用间隔,例如几秒钟。 从小时到小时的任何时间,我都使用常规日期算术或ADD_MONTHS() (间隔的月份和年份特别危险,因为它们they年不安全,而ADD_MONTHS()则安全)。

SELECT CURRENT_TIMESTAMP, CURRENT_TIMESTAMP + INTERVAL '200' SECOND FROM dual;

注意,间隔值周围的单引号是必需的; INTERVAL 200 SECOND将引发错误。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM