Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services SSRS 2008 IIF语句内的时间转换_Reporting Services - Fatal编程技术网

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函数,因为它们最接近于你想要达到的目的。