【发布时间】:2013-01-21 10:15:23
【问题描述】:
是否可以在 SQL 中放置相对/静态日期和时间?
我想得到昨天和前天的结果。
所以假设日期介于 (current_date-2 06:00:00) 和 (current_date-1 06:00:00) 之间。从 24 小时范围内获取结果,但具有特定时间。 由于我将其用于 BI 工具,因此只能接受普通 SQL。
【问题讨论】:
是否可以在 SQL 中放置相对/静态日期和时间?
我想得到昨天和前天的结果。
所以假设日期介于 (current_date-2 06:00:00) 和 (current_date-1 06:00:00) 之间。从 24 小时范围内获取结果,但具有特定时间。 由于我将其用于 BI 工具,因此只能接受普通 SQL。
【问题讨论】:
你可以使用
between trunc(sysdate) - 2 + 6/24 and trunc(sysdate) - 1 + 6/24
6/24 意味着六个小时,因为在 Oracle 1 中是一天。
【讨论】:
trunc(sysdate) - interval '2' day + interval '6' hour。我认为它比使用6/24 更清晰一些,也更容易构建不太整洁的时间,例如+ interval '6:15' hour to minute(尽管这似乎不是问题)。