2013-01-17 37 views
1

我使用的軌道3,我想START_TIME和END_TIME存儲。由於rails不支持日期範圍。如何僅在數據庫中存儲時間?

的數據類型,我應該用它來存儲時間沒有日期後進行比較?

這是我的數據庫架構與表調度tsrange數據類型(我應該使用哪個數據類型來代替它?)。

CREATE TABLE Doctors 
(
id INTEGER UNIQUE, 
name VARCHAR(size) 
); 

CREATE TABLE Schedules 
(
id INTEGER, 
doctor_id INTEGER, 
start_time tsrange, 
end_time tsrange, 
day VARCHAR(size) 
); 

CREATE TABLE Appointments 
(
id INTEGER, 
doctor_id INTEGER, 
aday DATE 
); 
+0

所以,你只是希望代表像「9:30」的值? – Larsenal

+0

是的,我希望能夠在次比較。 – evanx

回答

6

時間數據類型可能是你要找的。

而且,這個問題真的幫了我,當我試圖瞭解在軌日期/時間數據類型之間的差異:

In Ruby on Rails, what's the difference between DateTime, Timestamp, Time and Date?

你也應該考慮使用datetime數據類型,並簡單地使用它轉換strftime的,如

t = Time.now 
t.strftime("%I:%M%p") 

這將需要一個日期/時間和簡單的格式,在爲小時/分鐘/ AM | PM,而忽略了日期。

+1

但時間數據類型添加日期還,還是不? – evanx

+0

它會存儲小時/分鐘/秒的值。我也在上面編輯了我的問題。 – ply

相關問題