在存储事件的表中,日期和时间是两个单独的列:
CREATE TABLE events (
pk int serial,
detail text,
ev_date date,
ev time without time zone
);
Run Code Online (Sandbox Code Playgroud)
如果我过滤日期:
ev_date BETWEEN start_date::date AND end_date::date AND
ev_time BETWEEN start_date::time AND end_date::time
Run Code Online (Sandbox Code Playgroud)
我错过了每天时间范围之外发生的两个日期内的所有事件。
因此,开始时间仅与开始日期相关,与结束日期相同。
有人对如何有效地处理数百万个事件提出建议吗?