【问题标题】:select data from range of two dates从两个日期范围内选择数据
【发布时间】:2021-06-16 22:03:50
【问题描述】:

我想要一个查询来选择用户给出的两个日期(p_startdt,p_enddt)之间的数据,如果没有输入,那么默认情况下最后一年的数据将作为输出给出。我无法为 null 或无输入设置大小写

where invc_dt between p_startdt and p_enddt

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    使用NVL 处理NULL 值的情况。如果 p_startdt 为空,则以下示例将开始日期作为一年前,如果 p_enddt 为空,则将 p_enddt 作为当前日期:

    WHERE invc_dt 
      BETWEEN NVL(p_startdt,ADD_MONTHS(SYSDATE,-12)) AND 
              NVL(p_enddt,SYSDATE)
    

    注意:我假设列 invc_dt 的数据类型是 DATE。

    【讨论】:

      猜你喜欢
      • 2018-09-13
      • 2012-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-13
      相关资源
      最近更新 更多