SELECT * FROM `siparisler` WHERE `cafe_id` = 3 AND DATE_FORMAT(tarih,'%Y-%m-%d') BETWEEN 2017-08-01 AND 2017-08-06


我的日期在我的桌子上这样列出(tarih)2017-02-22 15:28:33
所以我想在cafe_id为3且这两个日期之间的时间为tarih时检索数据。

但是,当我运行此查询时,结果为零。
可能是什么问题。我找不到任何解决方案。

最佳答案

DATE_FORMAT()用于日期数据类型。不用了您只需要在常量周围加上引号即可:

SELECT s.*
FROM siparisler s
WHERE s.cafe_id = 3 AND
      s.tarih >= '2017-08-01' AND
      s.tarih < '2017-08-07'


请注意,我将条件从BETWEEN更改为直接比较。这是故意的。无论tarih是否具有时间分量,此逻辑都将起作用。

09-28 00:06