暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 计算两个日期之间的特定日期

ASKTOM 2018-11-12
235

问题描述

嗨,汤姆,

İ 有一个案例,我需要计算两个日期之间的特定日期。例如,我有一个包含合同开始日期,结束日期和特定日期如15的表。15表示每月的第15天。
我需要计算具体日期。例如,开始日期是11.03.2018,结束日期是19.04.2015。我的结果应该是2(15.03.2018和15.04.2018),我该如何进行此计算。

请帮助。

谢谢

专家解答

如果您希望提取一个月中某一天的日期数,您只需要从日期中提取这个值。

有多种方法可以做到这一点。

下面使用摘录 (从… 开始的一天):

with dates as (
  select date'2017-12-31' + level dt 
  from   dual
  connect by level <= 365
)
  select count(*) from dates
  where  extract ( day from dt ) = 15;

COUNT(*)   
        12 
  
with dates as (
  select date'2017-12-31' + level dt 
  from   dual
  connect by level <= 365
)
  select count(*) from dates
  where  extract ( day from dt ) = 15
  and    dt between date'2018-03-11' and date'2018-04-19';

COUNT(*)   
         2 
  
with dates as (
  select date'2017-12-31' + level dt 
  from   dual
  connect by level <= 365
)
  select count(*) from dates
  where  extract ( day from dt ) = 9
  and    dt between date'2018-03-11' and date'2018-04-19';

COUNT(*)   
         1 
复制

文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论