【问题标题】:How could I get the date of the week, month or year starting from the first day up to the current day of the current week, month or year?如何从当前周、月或年的第一天到当前日期获取周、月或年的日期?
【发布时间】:2019-03-25 07:36:04
【问题描述】:

如果标题令人困惑,我很抱歉。 基本上,我正在使用 Oracle Apex 18.x 创建一个仪表板,并在我的一张卡片中比较今天与昨天、本周与上周、本月与上个月以及今年与去年之间的销售额。

我对今天和昨天没有问题。我的问题在于周、月和年,因为我只想比较当天,而不是整个上周。

例如,如果今天是本周的第 4 天,那么我也只需要比较从上周到第 4 天的时间。

对于这个月,如果假设今天是 2018 年 3 月 25 日,那么我应该只将它与 2 月 1 日至 25 日进行比较。与年份相同。

如果要求是上周满,上个月满,去年满,这不是问题。

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    对于week,我会这样做:

    select 
    TRUNC(sysdate, 'DAY') start_of_the_week,
    (sysdate) day_of_current_week,
    (TRUNC(sysdate, 'DAY') - 7 ) start_of_last_week
    (sysdate - 7) day_of_last_week,
    from dual;
    

    对于month,它将是:

    select 
    (sysdate) day_of_current_month,
    TRUNC(sysdate, 'mm') month_start_date,
    ADD_MONTHS(sysdate,-1) day_of_last_month,
    ADD_MONTHS(TRUNC(sysdate, 'mm'),-1) start_of_last_month
    from dual;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-29
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多