是否有一种“简单”的方法来计算两个日期之间特定日期的计数(例如,假设我想知道 2000 年 1 月 1 日到今天之间的星期二数)?此外,同样的问题更广泛地适用于不同的单位(例如,两个日期之间有多少个下午 2 点,有多少个 2 月,有多少个 8 月 21 日等)......我想出的最好的(日期之间的天数)这是:
with calendar as (
select to_char(:start + level - 1, 'DAY') dayOfWeek
from dual
connect by level <= ceil(:end - :start)
)
select dayOfWeek, count(dayOfWeek)
from calendar
group by dayOfWeek;
我必须创建一个视图——硬编码开始和结束日期——以方便(ish)使用;要么写一个函数来做脏活。这并不难,但我想知道是否已经有一个 Oracle 函数可以做到这一点,包括闰日等。
编辑当我发布此内容时, 此内容会在相关链接中弹出。这或多或少地回答了几天的问题,我知道有一个months_between
功能可以在特定月份使用。我应该知道的任何其他相关功能?