可以做这样的事情吗?
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;