Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL选择两小时之间的记录_Php_Sql_Cakephp_Date_Time - Fatal编程技术网

Php SQL选择两小时之间的记录

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

我有一个表,其中有两个字段描述了每家商店的营业时间——“从”和“到”,采用24小时整数格式。我创建了一个搜索页面,允许用户查找在给定时间打开的商店

我真的不知道如何创建SQL查询,主要问题是有两种情况

一种情况是from值大于to值,例如从23到5,它给出了两个间隔23到24和1到5

第二种情况是,当to值大于from值时(比如从8到22),我得到一个间隔


知道如何创建在这两种情况下都可以使用的查询吗?

让我们使用这个表模式:

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小时和结束时间之间

Ups,这不是一个把戏。这是一个简单的where子句。问候。如果对您不起作用,请回来!我在将此查询实现到cakephp条件数组中时遇到问题。也许您也有cakephp的经验?@user1399007,不是,对不起。发布一个新问题。问候!Ups,这不是一个把戏。这是一个简单的where子句。问候。请回来如果对你不起作用!我在将此查询实现到cakephp条件数组中时遇到问题。也许你也有cakephp的经验?@user1399007,不,对不起。发布一个新问题。问候!