【发布时间】:2018-11-19 11:17:24
【问题描述】:
我需要取昨天的值,例如:
18-11-2018 06:00:00
select (systimestamp - 1) as ts_bytes from dual;
时间是固定的。
【问题讨论】:
-
试试
Systimestamp - INTERVAL '1' DAY
我需要取昨天的值,例如:
18-11-2018 06:00:00
select (systimestamp - 1) as ts_bytes from dual;
时间是固定的。
【问题讨论】:
Systimestamp - INTERVAL '1' DAY
我想你正在寻找这个:
select TRUNC(systimestamp - 1) + INTERVAL '6' HOUR as ts_bytes
from dual;
或
TRUNC(systimestamp) - INTERVAL '18' HOUR
或者如果您更喜欢 DATE 值而不是 TIMESTAMP
select TRUNC(SYSDATE - 1) + 6/24 as ts_bytes
from dual;
【讨论】:
如果您想在昨天的午夜 (00:00:00) 进行时间,则将当前时间戳截断到今天的开始,然后减去一天:
SELECT TRUNC(SYSTIMESTAMP) - INTERVAL '1' DAY as ts_bytes
FROM DUAL;
如果您想要一个特定的 HH:MM:SS 时间,请添加一个包含该时间的间隔:
SELECT TRUNC(SYSTIMESTAMP) - INTERVAL '1' DAY + INTERVAL '12:34:56' HOUR TO SECOND as ts_bytes
FROM DUAL;
【讨论】:
Select to_char(trunc(sysdate-1),’dd-mm-yyyy’)||’ 06:00:00’ as tyme from dual;
这很有趣,但应该可以。
【讨论】:
SELECT SYSTIMESTAMP - INTERVAL '1' DAY AS yesterday
FROM dual;
试试这个。
【讨论】: