我想要一个查询,用于在用户提供的两个日期 (p_startdt,p_enddt) 之间选择数据,如果没有输入,则默认情况下将给出过去一年的数据作为输出。我无法为 null 或无输入设置大小写
where invc_dt between p_startdt and p_enddt
答案 0 :(得分:0)
使用 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。