【问题标题】:How can I display NULL values in formatted datetimeoffset column?如何在格式化的 datetimeoffset 列中显示 NULL 值?
【发布时间】:2014-09-07 03:34:09
【问题描述】:

SSRS - 报表生成器 3.0

我们最近已将所有 SQL Server 日期时间列迁移到 datetimeoffset 列。这对我们的一份报告产生了不利影响。

报告引用了一个名为 TerminalStateDateTime 的 NULLABLE datetimeoffset 列。我希望使用以下格式:

= 格式(字段!TerminalStateDateTime.Value.DateTime,“dd MMM yyyy hh:mm”)

不幸的是,当 TerminalStateDateTime 的值为 NULL 时,它会显示 #Error。我尝试使用 IIF 和 Switch 来捕获它,但没有任何效果:

=IIF(IsNothing(Fields!TerminalStateDateTime.Value), "", Format(Fields!TerminalStateDateTime.Value.DateTime, "dd MMM yyyy hh:mm"))

有人知道如何忽略 NULL 值并正确格式化非 NULL 值吗?

谢谢

爱德华

【问题讨论】:

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


    【解决方案1】:

    您最简单的选择是简单地在文本框中应用格式,而不是通过表达式。

    用一些简单的数据:

    select TerminalStateDateTime = cast('20140101' as datetimeoffset)
    union all select TerminalStateDateTime = cast('20140201' as datetimeoffset)
    union all select null
    

    我有一张简单的桌子:

    第一列只显示值。第二个使用您的表达方式,即

    = Format(Fields!TerminalStateDateTime.Value.DateTime, "dd MMM yyyy hh:mm")
    

    第三个应用相同的格式,但在文本框属性中:

    你可以看到这并没有给#Error

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多