0

我正在尝试在IIF语句中转换时间。

我有一个值为: 的字段 2013-10-15 01:00:00.0000000。我正在尝试将其转换为“01:00”,然后根据转换生成 2 个结果中的 1 个。

我已经尝试过使用case when似乎不起作用的语句。

我也尝试过使用like "*01:00*"which 也不起作用。目前,这是我正在尝试做的事情,但似乎我没有以正确的方式去做:

=iif(Fields!TEST1.VALUE LIKE ("*01:00:00.0000000*"), "TRUE", "NOT TRUE")
4

1 回答 1

0

严格查看您要执行的操作,使用 SSRS 表达式InStr来检查较大字符串中的子字符串:

=IIf(InStr(Fields!TEST1.Value, "01:00:") > 0, True, False)

这适用于您的示例行和另一个测试用例:

在此处输入图像描述

但是,我们对您的数据知之甚少 - 基础数据实际上是字符串还是日期时间?

如果您的数据是日期时间,您可以使用不同的方法:

=IIf(Hour(Fields!TEST1.Value) = 1 and Minute(Fields!TEST1.Value) = 0
    , True
    , False)

甚至:

=IIf(Fields!TEST1.Value.ToString("HH:mm") = "01:00"
    , True
    , False)

如果可能的话,如果可能的话,我会考虑 datetime 函数,因为它们最接近您似乎试图实现的意图。

于 2013-10-13T13:12:18.920 回答