检测NULL日期并在SSRS中显示空字符串

mar*_*c_s 15 sql-server-2005 reportingservices-2005

我正在尝试格式化包含DateTime?值的Reporting Services报表中的某些单元格.

如果底层数据有一个NULLfor DateTime?,我想什么都不显示(空单元格) - 如果该数据源包含一个值,我想以短日期格式(dd.MM.yyyy在我的语言环境中)显示日期.

所以我试着将这个公式放入相关的SSRS单元格中

=FormatDateTime(Fields!DatumBSE.Value, 2)
Run Code Online (Sandbox Code Playgroud)

但是现在我要01.01.0001参加所有NULL日期....

我似乎无法用SSRS(VB)公式来解决这个问题....我尝试使用IsNothing()但似乎没有真正的帮助 - 我可以检测到NULL,但是如何告诉细胞在这种情况下显示一个空字符串?

解:

我最终使用了这个功能:

=IIF(IsNothing(Fields!DatumBSE.Value), "", FormatDateTime(Fields!DatumBSE.Value, 2))
Run Code Online (Sandbox Code Playgroud)

现在似乎工作得很好.

Tar*_*ryn 20

我刚刚测试了以下表达式,并null用空字符串替换了日期:

=IIF(Fields!DatumBSE.Value is nothing, nothing, FormatDateTime(Fields!DatumBSE.Value, 2))
Run Code Online (Sandbox Code Playgroud)

我要做的另一个建议是,您可以通过CASE在日期值周围放置一个表达式,将日期格式化为报表数据集中的正确格式.