2017-05-17 44 views
1

我有一列時間數據類型,我願意比較它,但我不知道如何比較它。像我想知道的那樣時間大於10:30:00。我如何檢查它?我編寫了這個查詢,但它沒有顯示任何結果,儘管數據可用。我在做什麼錯如何在mysql中比較時間

select PK, userID, lr.Date, lr.Time, Half, lr.InOut, Op_UserID, About 
from loginrecord lr 
where lr.Date Between '2017-05-17' AND '2017-05-17' 
and lr.InOut = 1 
and lr.Time > '10:30:00' 
+1

http://stackoverflow.com/questions/8458290/mysql-select-data-from-database-between-two-dates看到這個希望它有幫助。 –

回答

1

可以使用TIME_FORMAT功能,像這樣:

select PK, userID, lr.Date, lr.Time, Half, lr.InOut, Op_UserID, About 
from loginrecord lr 
where lr.Date Between '2017-05-17' AND '2017-05-17' 
and lr.InOut = 1 
and TIME_FORMAT(lr.Time, '%H:%i') > '10:30' 
+0

感謝guillaume –

2

試試這個

select PK, userID, lr.Date, lr.Time, Half, lr.InOut, Op_UserID, About 
from loginrecord lr 
where lr.Date Between '2017-05-17' AND '2017-05-17' 
and lr.InOut = 1 
and lr.Time > CAST('10:30:00' AS time) 

的CAST()函數的任何類型的值轉換爲具有指定類型的值。目標類型可以是以下任何一種類型:BINARY,CHAR,DATE,DATETIME,TIME,DECIMAL,SIGNED,UNSIGNED。

CAST()函數通常用於在WHERE,JOIN和HAVING子句中返回指定類型的值進行比較。

Reference

+0

謝謝@AkshayP –

1

而且以小時,分鐘和秒直接進入可以被用來對值進行比較

select PK, userID, lr.Date, lr.Time, Half, lr.InOut, Op_UserID, About 
from loginrecord lr 
where lr.Date Between '2017-05-17' AND '2017-05-17' 
and lr.InOut = 1 
and HOUR(lr.Time) > 10 
and MINUTE(lr.Time) > 30 
and SECOND(lr.Time) > 00 

詳情請參考MYSQL Date and time funcitons