【发布时间】:2013-01-01 10:15:23
【问题描述】:
我正在使用 rails 3,我想存储 start_time 和 end_time。由于 rails 不支持日期范围。
我应该使用哪种数据类型来存储没有日期的时间以便以后进行比较?
这是我的数据库架构,其中包含表 Schedules 中的 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
);
【问题讨论】:
-
所以你只是想代表一个像“9:30 am”这样的值?
-
是的,我希望能够比较时间。
-
如果您使用
time格式作为列类型,MySQL(例如)会将其存储为时间,这很好,但 Rails 会将其转换为适当的时间(使用 Time Zone) 并为其附加一个日期和一个时区,这在大多数情况下并不理想。
标签: ruby ruby-on-rails-3 postgresql-9.1