在SSRS报表中使用参数和SQL
@@ FromDate和@ToDate可以为null-要获取所有4条记录
@ Fromdate可以有一个日期值,而@ToDate为空-如果是这种情况,需要获取所有没有TravelTo日期的日期值
@@ Fromdate和@todate具有值,则需要获取最后2条记录
@@ FromDate和@ToDate为null,然后需要获取所有值
我使用下面的代码获取数据,但是我没有获取正确的数据,任何建议都会受到赞赏。
哪里(TravelTo在@FROMSTART和@TODATE之间)
或(@TODATE IS NULL和TravelFrom> = @ FROMSTART)
OR(@FROMSTART为空,且TravelFrom <= @ TODATE)
OR(@FROMSTART为空,@ TODATE为空)
来自SSRS的Parmater屏幕截图
假设日期输入或列本身可能是NULL
,您可以尝试:
SELECT *
FROM TABLE1
WHERE ((@FROMSTART IS NULL AND @TODATE IS NULL)
OR(@FROMSTART IS NULL AND TravelTo <=@TODATE)
OR(@TODATE IS NULL AND TravelFrom >=@FROMSTART)
OR(TravelFrom >= @FROMSTART AND TravelTo<=@TODATE))
我认为问题是第二个条件