我在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 请告诉我怎么做
答案 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 '