在我的所有脚本中,我想查询Oracle,为我提供时间戳小于今天日期(今天上午12点)的行,并且大于最后一天(上午12点) 我已经提出了以下脚本:
WHERE DAILY_OPEN_POSITIONS.OPEN_TIMESTAMP <= (SELECT SYSTIMESTAMP FROM DUAL)
AND DAILY_OPEN_POSITIONS.OPEN_TIMESTAMP >= (SELECT SYSTIMESTAMP - INTERVAL '2' DAY FROM dual)
但这并不是我想要的,因为它提供的行不是在上午12点开始,而是从当前时间开始。
我正在寻找一种方法将变量日期(每天日期)和常量时间(上午12点)混合在一起,所以我的查询将仅限于:
WHERE DAILY_OPEN_POSITIONS.OPEN_TIMESTAMP <= (today's date started at 12 am)
AND DAILY_OPEN_POSITIONS.OPEN_TIMESTAMP >= (yesterday's date started at 12 am
答案 0 :(得分:3)
您不需要子查询来访问功能。我想你只想要trunc()
:
WHERE DAILY_OPEN_POSITIONS.OPEN_TIMESTAMP <= trunc(SYSTIMESTAMP) AND
DAILY_OPEN_POSITIONS.OPEN_TIMESTAMP >= trunc(SYSTIMESTAMP - INTERVAL '2' DAY)
但是,我认为它应该是&#39; 1&#39;第二天的第二天。