2013-10-13 89 views
0

我試圖轉換IIF聲明中的時間。SSRS 2008 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

展望嚴格,與SSRS表達你需要使用InStr,檢查是否有子在一個較大的字符串:

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

這正常上你的榜樣行和另一個測試案例:

enter image description here

然而,我們對你的數據知之甚少 - 底層數據實際上是一個字符串還是一個日期時間?

如果你的數據是日期時間,你可以使用不同的方法:

=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) 

如果可能的話,我會考慮的日期時間函數,如果可能的話,因爲他們最接近達到你想要實現的目的。

+0

這是datetime字段和你的功能,完美的工作!謝謝!!! – Lance