如何向间隔添加分钟和秒钟

问题描述 投票:1回答:3

我有以下内容:trunc(sysdate - 1) + interval '8' hour

如何在此间隔中增加分钟和几秒钟?

sql oracle
3个回答
2
投票

使用HOUR TO SECOND,而不只是HOUR

SELECT TRUNC( SYSDATE - 1 ) + INTERVAL '8:12:34' HOUR TO SECOND
FROM   DUAL;

输出:

| TRUNC(SYSDATE-1)+ INTERVAL'8:12:34'HOURTOSECOND || :--------------------------------------------- || 2020-06-08 08:12:34 |

db <>小提琴here


0
投票

您可以尝试这样的事情:

select cast(trunc(sysdate - 1) as timestamp) + interval '8' hour + interval '40' minute + interval '20' second from dual;

您当前正在使用sysdate。在上面的示例中,我将其切换为时间戳。然后,添加8小时。然后,添加分钟和秒钟。

示例:https://dbfiddle.uk/?rdbms=oracle_18&fiddle=76a640ecfb4b59cfbac628511d2accd3


-1
投票

有时,使用老式方法会更容易:

select trunc(sysdate - 1) + (8 / 24 + 30 / (24 * 60) + 5 / (24 * 60 * 60))

或使用一个间隔和一种算术表达它:

trunc(sysdate - 1) + (8 * 60 * 60 + 30 * 60 + 17) * interval '1' second

有复合间隔的语法;我发现很难记住Oracle的版本。

© www.soinside.com 2019 - 2024. All rights reserved.