Reporting services SSRS 2008 IIF语句内的时间转换
我试图在Reporting services SSRS 2008 IIF语句内的时间转换,reporting-services,Reporting Services,我试图在IIF语句中转换时间 我有一个值为:2013-10-15 01:00:00.0000000的字段。我试图将其转换为“01:00”,然后根据转换结果生成2个结果中的1个 当语句似乎不起作用时,我使用了一个案例尝试了这两种方法 我也尝试过使用如“*01:00*”,但也不起作用。目前,我正试图这样做,但我似乎没有采取正确的方式: =iif(Fields!TEST1.VALUE LIKE ("*01:00:00.0000000*"), "TRUE", "NOT TRUE") 严格地看一下您要做
IIF
语句中转换时间
我有一个值为:2013-10-15 01:00:00.0000000
的字段。我试图将其转换为“01:00”,然后根据转换结果生成2个结果中的1个
当语句似乎不起作用时,我使用了一个案例尝试了这两种方法
我也尝试过使用如“*01:00*”
,但也不起作用。目前,我正试图这样做,但我似乎没有采取正确的方式:
=iif(Fields!TEST1.VALUE LIKE ("*01:00:00.0000000*"), "TRUE", "NOT TRUE")
严格地看一下您要做的事情,使用SSRS表达式,您需要使用InStr
来检查较大字符串中的子字符串:
=IIf(InStr(Fields!TEST1.Value, "01:00:") > 0, True, False)
这在示例行和另一个测试用例上运行良好:
然而,我们对您的数据知之甚少——底层数据实际上是字符串还是日期时间
如果您的数据是datetime,则可以使用不同的方法:
=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函数,因为它们最接近于你想要达到的目的。