【发布时间】:2021-06-16 22:03:50
【问题描述】:
我想要一个查询来选择用户给出的两个日期(p_startdt,p_enddt)之间的数据,如果没有输入,那么默认情况下最后一年的数据将作为输出给出。我无法为 null 或无输入设置大小写
where invc_dt between p_startdt and p_enddt
【问题讨论】:
我想要一个查询来选择用户给出的两个日期(p_startdt,p_enddt)之间的数据,如果没有输入,那么默认情况下最后一年的数据将作为输出给出。我无法为 null 或无输入设置大小写
where invc_dt between p_startdt and p_enddt
【问题讨论】:
使用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。
【讨论】: