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

时间:2013-01-30 14:29:44

标签: sql-server-2005 reportingservices-2005

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

如果底层数据的NULLDateTime?,我想不显示任何内容(空单元格) - 如果该数据源包含值,我想显示日期格式为短日期格式(我的语言环境中为dd.MM.yyyy)。

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

=FormatDateTime(Fields!DatumBSE.Value, 2)

但是现在我收到所有01.01.0001日期的NULL ....

我似乎无法在SSRS(VB)公式中解决如何做到这一点....我尝试使用IsNothing()但这似乎并没有真正帮助 - 我可以检测到NULL,但是如何告诉单元格在这种情况下显示空字符串?

解决方案:

我最终使用了这个功能:

=IIF(IsNothing(Fields!DatumBSE.Value), "", FormatDateTime(Fields!DatumBSE.Value, 2))

现在似乎对我有用。

2 个答案:

答案 0 :(得分:20)

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

=IIF(Fields!DatumBSE.Value is nothing, nothing, FormatDateTime(Fields!DatumBSE.Value, 2))

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

答案 1 :(得分:-1)

使用这样的代码:

If(isNull([date field]),Null, elsequote)