我运营着一个营业时间网站,我们会在该网站上显示商店是否营业的数据。
到目前为止,如果它在 PHP 中打开或不打开,我会进行计算,但我想知道是否可以直接在查询中进行计算。这会大大加快速度,因为我不必获取所有行(超过 10.000 行)只显示打开的行,但可以直接限制查询。
格式为:
HH:MM-HH:MM
08:00-16:00
表字段:
mon, tue, wed, thu, fri, sat, sun
所以查询需要知道是哪一天,拆分字段计算是否在当前时间。
目前在 PHP 中,我只是将它们用“:”和“-”分开,然后从那里开始计算。
最佳答案
那是一个糟糕的表结构。您应该将打开/关闭时间存储在单独的字段中作为适当的时间值。例如
create table storehours (
id int auto_increment primary key,
storeID int,
open time,
closed time
);
然后你可以做一个非常简单的:
SELECT storeID
WHERE curtime() BETWEEN open AND closed
关于php - 在 SQL 查询中计算时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18660281/