获取特定时间和日期的系统时间 - Oracle SQL



可以做这样的事情吗?

SELECT
TO_CHAR(SYSDATE-1, 'MM-DD-YYYY 08:00:00') "Yesterday",

我想从昨天早上 8 点开始获取系统日期

你可以这样写:

trunc(sysdate - 1) + interval '8' hour

或:

trunc(sysdate) - interval '16' hour

或者,您可以使用整数值而不是间隔进行日期算术:

trunc(sysdate) - 16/24    
  • 断系统日期。这将删除日期的时间部分。
  • 然后加上 8/24
  • (8 小时中的 24(,8/24 等于 1/3 - 8 小时是一天的三分之一。
  • 然后以 DD-MON-YYYY HH24:MI:SS 格式显示此日期值。

这一切加起来就是:

SELECT TO_CHAR(TRUNC(SYSDATE) - 1 + 1/3,'DD-MON-YYYY HH24:MI:SS') FROM DUAL;

最新更新