2013-11-04 155 views
1

我正在嘗試編寫一個查詢,該查詢將允許我查找每天發生在兩次之間的所有記錄。舉個例子,假設你有五條記錄,每條記錄都有自己的唯一時間戳,表示記錄何時創建。他們看起來像這樣:每天兩次之間的SQL查詢

|--|------|-------------------| 
|id|letter| created_at  | 
|--|------|-------------------| 
|1 |a  |2013-10-30 10:00:00| 
|2 |b  |2013-10-31 18:00:00| 
|3 |c  |2013-11-01 14:00:00| 
|4 |d  |2013-11-03 23:00:00| 
|5 |e  |2013-11-04 05:00:00| 
|--|------|-------------------| 

我想寫一個查詢,將返回所有創建之間08:00:00和15:00:00之間的記錄。預期的結果是:

|--|------|-------------------| 
|id|letter| created_at  | 
|--|------|-------------------| 
|1 |a  |2013-10-30 10:00:00| 
|3 |c  |2013-11-01 14:00:00| 
|--|------|-------------------| 

查詢看起來像什麼來實現這個結果?我很熟悉如何使用BETWEEN獲取日期,但不知道如何專注於時間。謝謝。

回答

1

編輯忘了這是MySQL的 可以使用EXTRACT功能拉說出來

SELECT id, letter, created_at 
FROM table 
WHERE EXTRACT(HOUR, created_at) BETWEEN 8 AND 15