【发布时间】:2016-07-17 09:59:30
【问题描述】:
我有一个名为 opening_hours 的表,如下所示:
id int(11), weekday int(1), start_hour time, end_hour time
我使用这个查询来选择所有现在正在营业的商店:
SELECT * FROM shops s
INNER JOIN opening_hours o
ON ( s.id = o.id )
AND ( o.weekday = WEEKDAY(CURDATE()) + 1 )
AND ( ( CURTIME() >= o.start_hour ) AND ( CURTIME() <= o.end_hour ) )
我的问题是,当商店在午夜后营业时,这个查询给出了错误的结果。那是因为午夜之后的时间早于午夜之前的时间。如何处理?
【问题讨论】:
标签: mysql sql database database-design logic