2017-10-16 29 views
0

之間減法選擇車型我有一個名爲「日程」一個MySQL表具有字段TIME_STARTTIME_END的日期時間格式。通過他們的日期時間字段

我需要從Ruby on Rails上下文中獲取大於4小時的數據庫模型。例如:

Schedule.where("#{time_end} - #{time_start} > 4.hours") 

我如何使用Active Record執行此操作?如果不可能,那麼我怎麼能用mySQL查詢來做到這一點?

回答

0

,我不知道或者Rails(我相信這是不可能使用Rails),但它與SQL很容易可行:

Schedule.where("TIMESTAMPDIFF(HOUR, time_end, time_start) > 4") 

TIMESTAMPDIFF文檔。

0

的MySQL有日期之間的區別有兩個功能:

SELECT TIMEDIFF('2007-12-31 10:02:00','2007-12-30 12:01:01'); 
-- result: 22:00:59. 


SELECT TIMESTAMPDIFF(SECOND,'2007-12-30 12:01:01','2007-12-31 10:02:00'); 
-- result: 79259 the difference in seconds with the time. 

您可以使用類似:

Schedule.where("TIMESTAMPDIFF(time_end, time_start) > 240") 

不知道是否可行,但你可以試試看。希望這可以幫助!

0

你可以使用MySQL的TIMEDIFF功能:

Schedule.where("TIMEDIFF(time_end, time_start) > '04:00:00'")