我正在尝试在IIF
语句中转换时间。
我有一个值为2013-10-15 01:00:00.0000000
的字段。我正在尝试将其转换为“01:00”,然后根据转换生成2个结果中的1个。
我已尝试使用case when
语句,这似乎不起作用。
我也尝试过使用like "*01:00*"
,这也行不通。目前,这正是我试图做的,但似乎我没有以正确的方式解决这个问题:
=iif(Fields!TEST1.VALUE LIKE ("*01:00:00.0000000*"), "TRUE", "NOT TRUE")
答案 0 :(得分: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)
如果可能的话,我会尽可能考虑日期时间函数,因为它们最接近你想要达到的目的。