Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 SSRS报告中日期字段的值为空时是否显示系统日期?_Sql Server 2008_Ssrs 2008_Reporting Services - Fatal编程技术网

Sql server 2008 SSRS报告中日期字段的值为空时是否显示系统日期?

Sql server 2008 SSRS报告中日期字段的值为空时是否显示系统日期?,sql-server-2008,ssrs-2008,reporting-services,Sql Server 2008,Ssrs 2008,Reporting Services,下面是我在SSRS报告中使用的SQL查询 SELECT Claimname,CONVERT(VARCHAR,ClaimResponsedate,101) FROM Claim WHERE DataSourceID = 100011 从上面的查询中,“ClaimResponsedate”可能会得到空值,但在SSRS报告中,当值为空时,该字段显示1/1/1990 如果日期值为空,我需要在报告中显示空值 我尝试了下面的代码来避免,但它不起作用 =IIF(IsNothing(Fields!ClaimR

下面是我在SSRS报告中使用的SQL查询

SELECT Claimname,CONVERT(VARCHAR,ClaimResponsedate,101) FROM Claim WHERE DataSourceID = 100011
从上面的查询中,“ClaimResponsedate”可能会得到空值,但在SSRS报告中,当值为空时,该字段显示1/1/1990

如果日期值为空,我需要在报告中显示空值

我尝试了下面的代码来避免,但它不起作用

=IIF(IsNothing(Fields!ClaimResponsedate.Value),"",Fields!ClaimResponsedate.Value)
OR
=IIF(Len(Fields!ClaimResponsedate)=0,"",Fields!ClaimResponsedate.value)
因此,请帮助我实现这一点,即如果日期值为空,则在报告中显示空值

提前感谢

将您的SQL更改为:

SELECT Claimname,
    CASE WHEN ClaimResponseDate IS NULL THEN NULL ELSE 
    CONVERT(VARCHAR,ClaimResponsedate,101) END as [ClaimResponseDate]
 FROM Claim WHERE DataSourceID = 100011

另一个选项是将报告字段更改为以下内容:

=Replace(Fields!ClaimResponsedate.Value,"1/1/1900","")

是的,我也尝试过这种情况,尽管在报告中显示的是1900年1月1日。。所以请建议我achieve@VinnaKanna:使用替代解决方案更新“当ClaimResponseDate为空时,那么“””不是您第一个解决方案的更好选择吗?@Frank-是的,我想那会更好。但是如果索赔真的为1/1/1990,那么我们将丢失数据,对吗?有没有其他办法解决这个问题