SSRS日期问题

时间:2013-05-02 14:53:19

标签: sql-server sql-server-2008 reporting-services

我在SSRS中使用的查询报告了SQL Server 2008中视图的摘要和详细信息。我遇到的问题是我无法正确计算日期范围。这是查询:

declare @FromDate as Date

SELECT
    [ABS] =
    case when left(filename,2)='BA' then 'BAGS'
     when left(filename,2)='SX' then 'SOCKS'
     else 'APPAREL' end,
LEFT(filename,(charindex( '_', filename, charindex( '_', filename)+1)-1)) as [MATERIAL],
filename, 
CONVERT(varchar(50),delvd_dt,1) as DD,
fulfillment_type
FROM vw_Delivery_Log
WHERE(charindex( '_', filename, charindex( '_', filename)+1)-1)>0
AND delivered_to_ftp <> 6
AND fulfillment_type <> 'REDROP'
AND (convert(varchar(50),delvd_dt,1) > @FromDate );

我将@FromDate变量作为日期时间作为SSRS中的变量。当我在select语句“set @FromDate ='4/1/2013'之前添加一行时,查询会产生预期的结果,但如果没有它,查询就不会产生任何结果。

我也尝试使用转换命令将@FromDate变量转换为日期,只是输入变量的文本而不是从日历中选择日期。

由于数据集的庞大规模,我需要能够查看报告的较小部分。一个月的参赛作品将是250页的数据。

非常感谢任何协助。

1 个答案:

答案 0 :(得分:0)

如果未设置@FromDate,则它为NULL并且WHERE子句中的条件失败。如果你想能够使用NULL @FromDate,你需要这样的东西:

AND (@FromDate IS NULL OR delvd_dt > @FromDate)