如何在特定时间mysql中选择查询

时间:2015-06-29 08:10:14

标签: mysql

我在2列时间之间选择查询时遇到了一些问题。 我有2列'timefrom','timeto' 示例

Select * 
from table 
where  timefrom <= DATE_FORMAT(NOW(),'%H') 
AND    timeto  >   DATE_FORMAT(NOW(),'%H')

就像我们的DATE_FORMAT(NOW(),'%H')是19小时

Select * from table where 18<=19 AND 07>19

在此查询中我选择18小时至第二天07小时之间的数据 但是我们的时间是19小时它将是真实的,但高于它的回报是错误的,因为它的07&gt; 19显示为假。 请告诉我如何解决它。

第二,我们在查询中不使用'ÓR',我们只想使用AND 请告诉我怎么做

1 个答案:

答案 0 :(得分:1)

你可以这样做:

SELECT * FROM table 
WHERE  DATE_FORMAT(NOW(),'%H')  
BETWEEN timefrom  AND timeto;

但如果'timeto'是第二天的日期,你必须这样做:

SELECT * FROM table 
WHERE  DATE_FORMAT(NOW(),'%H%d/%m/%Y')  
BETWEEN timefrom  AND timeto;

并且您必须将数据保存到'timefrom'和'timeto'列,如下所示:'%H%d /%m /%Y '