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

Posted

技术标签:

【中文标题】将 current_date 转换为相对日期和静态时间【英文标题】:Converting current_date to relative day and static time 【发布时间】:2013-01-21 10:15:23 【问题描述】:

是否可以在 SQL 中放置相对/静态日期和时间?

我想得到昨天和前天的结果。

所以假设日期介于 (current_date-2 06:00:00) 和 (current_date-1 06:00:00) 之间。从 24 小时范围内获取结果,但具有特定时间。 由于我将其用于 BI 工具,因此只能接受普通 SQL。

【问题讨论】:

【参考方案1】:

你可以使用

between  trunc(sysdate) - 2 + 6/24  and trunc(sysdate) - 1 + 6/24 

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

【讨论】:

+1,但我可能想使用trunc(sysdate) - interval '2' day + interval '6' hour。我认为它比使用6/24 更清晰一些,也更容易构建不太整洁的时间,例如+ interval '6:15' hour to minute(尽管这似乎不是问题)。 @AlexPoole 你说得对,ANSI 更好,这只是我的一个坏习惯。

以上是关于将 current_date 转换为相对日期和静态时间的主要内容,如果未能解决你的问题,请参考以下文章

将 datetime64[ns] 索引转换为日期 pandas 以进行比较

将 CURRENT_DATE 或 UNIX_TIMESTAMP 转换为 Hive 中的字符串(YYYY-DD-MM 格式)

BigQuery:将 mm/yyyy 日期与特定日期和 CURRENT_DATE 进行比较

15日期时间函数

第三十五章 SQL函数 CURRENT_DATE

MYSQL学习笔记三:日期和时间函数