我有一个包含两个字段的表格,用于描述每个商店的营业时间 - 24小时格式整数中的“from”和“to”。我创建了一个搜索页面,允许用户查找在给定时间打开的商店。
我真的不知道如何创建SQL查询,主要问题是有两种情况。
一种情况是,从值大于值,例如从23到5,它给出两个区间23到24和1到5。
第二种情况是当值大于值时(比如从8到22),我得到一个间隔。
知道如何创建查询,这两种情况都适用吗?
答案 0 :(得分: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 )
)
<强>解释强>
从商店中选择所有字段: