将current_date转换为相对日期和静态时间

sai*_*f3r 2 sql oracle datetime

我想请教你一个建议.是否可以在sql中清除相对/静态日期和时间?

我希望从昨天和前一天获得结果.

所以我们说(current_date-2 06:00:00)和(current_date-1 06:00:00)之间的日期.从24小时范围获得结果,但具有特定小时.由于我将它用于BI工具,因此只接受普通的sql.

谢谢你的建议!

Flo*_*ita 5

你可以用

between  trunc(sysdate) - 2 + 6/24  and trunc(sysdate) - 1 + 6/24 
Run Code Online (Sandbox Code Playgroud)

6/24意味着六个小时,因为在Oracle 1中是一天.

  • +1,但我可能会想要使用`trunc(sysdate) - interval'2'day + interval'6' hour`.我认为它比使用"6/24"更清晰,也更容易构造不那么整洁的时间,例如"+间隔"6:15'小时到分钟`(虽然这似乎不是问题). (2认同)