Php SQL选择两小时之间的记录
我有一个表,其中有两个字段描述了每家商店的营业时间——“从”和“到”,采用24小时整数格式。我创建了一个搜索页面,允许用户查找在给定时间打开的商店 我真的不知道如何创建SQL查询,主要问题是有两种情况 一种情况是from值大于to值,例如从23到5,它给出了两个间隔23到24和1到5 第二种情况是,当to值大于from值时(比如从8到22),我得到一个间隔Php SQL选择两小时之间的记录,php,sql,cakephp,date,time,Php,Sql,Cakephp,Date,Time,我有一个表,其中有两个字段描述了每家商店的营业时间——“从”和“到”,采用24小时整数格式。我创建了一个搜索页面,允许用户查找在给定时间打开的商店 我真的不知道如何创建SQL查询,主要问题是有两种情况 一种情况是from值大于to值,例如从23到5,它给出了两个间隔23到24和1到5 第二种情况是,当to值大于from值时(比如从8到22),我得到一个间隔 知道如何创建在这两种情况下都可以使用的查询吗?让我们使用这个表模式: store id fromH toH 1 23 5
知道如何创建在这两种情况下都可以使用的查询吗?让我们使用这个表模式:
store
id fromH toH
1 23 5
2 8 22
和参数@T(您要查找的小时数)
然后选择是:
select *
from store
where
( fromH < toH and @t between fromH and toH ) or
( fromH > toH and
(@t between fromH and 24 OR
(@t between 1 and toH )
)
选择*
从商店
哪里
(FromtoH和
(@t介于从h到24之间或
(@t介于1和toH之间)
)
解释
从以下存储中选择所有字段:
- 开始营业时间>结束营业时间,您的营业时间介于两者之间
- 或
- 开始营业时间<结束营业时间,您的营业时间介于营业时间和24小时或1小时和结束时间之间
store
id fromH toH
1 23 5
2 8 22
和参数@T(您要查找的小时数)
然后选择是:
select *
from store
where
( fromH < toH and @t between fromH and toH ) or
( fromH > toH and
(@t between fromH and 24 OR
(@t between 1 and toH )
)
选择*
从商店
哪里
(FromtoH和
(@t介于从h到24之间或
(@t介于1和toH之间)
)
解释
从以下存储中选择所有字段:
- 开始营业时间>结束营业时间,您的营业时间介于两者之间
- 或
- 开始营业时间<结束营业时间,您的营业时间介于营业时间和24小时或1小时和结束时间之间