2017-06-20 70 views
0

我想解決這個問題,我非常感謝任何幫助或方向。如何將兩個varchar列轉換爲時間和減去小時數

我有一個事件表MySQL數據庫在那裏我有兩列數據類型爲varchar和名稱是TIME_START和TIME_END

的值存儲爲字符串24小時格式:16:00:00爲例如

例如用圖像的選擇結果*從事件是:

time_start time_end 
13:00:00 14:00:00 

如何將這些字符串轉換爲時間。減去(TIME_END - TIME_START)導致1H

韓國社交協會的任何幫助

+0

你可以舉一個更好的例子,其中的差異不是一個小時嗎? –

回答

0

您可以通過使用time_to_sec()timestampdiff()輕鬆搞定的區別:

select time_to_sec(time(time_end)) - time_to_sec(time(time_start)) 

這使得在幾秒鐘的時間。如果你想整小時,除以3600:

select floor((time_to_sec(time(time_end)) - time_to_sec(time(time_start)))/(60 * 60)) as hours 

或者,如果你真的只是想減去小時的部分,你可以這樣做:

select left(time_end, 2) - left(time_start, 2) 

MySQL將這些值轉換爲數字,因爲的算術運算。