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时检索数据。
但是当我运行此查询时,我得到零结果。 可能是什么问题。我找不到任何解决方案。
答案 0 :(得分:0)
您错过了引用日期字符串文字。它应该是
BETWEEN '2017-08-01' AND '2017-08-06'
答案 1 :(得分:0)
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
是否具有时间组件,此逻辑都将起作用。