2014-04-09 20 views
-1

之後減去4小時如果日期時間落在03/09/2014節省之前需要減去5小時而如果在03/09/2014之後需要4小時則要減去4小時。這是一個案例聲明,這是我目前爲止的情況,但它只是在第二個時候觸及第一個時,而不是第二個時。如何在日曆時間減去5小時的情況下如果在日光節約前減去5小時並且如果在

max(
    Case 
     when aa.status_id=10 and aa.created_at <'3/09/2014' 
      then DATE_SUB(aa.created_at, interval 4 HOUR) 
     when aa.status_id=10 and aa.created_at >'3/09/2014' 
      then DATE_SUB(aa.created_at, interval 4 HOUR) 
     else null 
    end)as form_Receieved 
+0

我有一個錯字時間較少03/09/2014是5小時或更長時間03/09/2014是4小時 – user3115719

+0

您可能看不到正確的結果,因爲您在兩種情況下都減去4。 –

+0

不,我確定這是..這是一個錯字。 – user3115719

回答

0

第一你是從其減去從當日起計個小時!這不會起作用,它必須是日期時間。

其次您比較日期時間列和日期。你必須將它轉換爲日期時間。或使其與列格式相同。

 when aa.status_id=10 and aa.created_at <'2014-03-09 00:00:00' 

假設created_at是日期時間列,因爲您沒有顯示您的表和列結構。

+0

我改變它爲你的格式,我正在減去,但我的創建> 03/09/2014 00:00:00 – user3115719

+0

哎呀..我沒有做的是一小時後,我得到13而不是14。 – user3115719

+0

如果你張貼一些樣本數據並希望得到結果。會好很多。 –