我有一个带有oracle数据源和两个日期参数的ssrs报告:startdate和enddate,查询如下:
select * from mytbl
where reportdate between :startdate and :enddate
这两个参数都是datetime,我必须处理参数也是null。
select * from mytbl
where reportdate between to_date(NVL(:StartDate, '01-JAN-1900'), 'DD-MON-yyyy') AND to_date(NVL(:EndDate, '31-DEC-9999'), 'DD-MON-yyyy')
但是只有当两个参数都为空时,报告才有效。当我在startdate和enddate参数中输入一些日期时,它没有显示数据。
有人能帮助我吗?非常感谢你。
答案 0 :(得分:0)
我想你以后:
select *
from mytbl
where reportdate between nvl(:startdate, to_date('01/01/1900', 'dd/mm/yyyy')
and nvl(:enddate, to_date('31/12/9999', 'dd/mm/yyyy');