我只想使用 BETWEEN 子句从两个日期之间的客户表中获取客户详细信息:created_Date字段的数据类型为时间戳,默认值为 CURRENT_TIMESTAMP。我编写的代码如下所示:
SELECT membership_id FROM customers WHERE DATE_FORMAT( created_Date,
'%Y-%m-%d' ) BETWEEN '2016-05-07' AND '2016-06-08'
但即使是上面的代码也无法获取数据,
当我进行以下查询时
SELECT * FROM customers WHERE created_Date like'%2016-05-16%';
它有效,
所以据我所知,BETWEEN CLAUSE中有一些错误。
有人可以帮助我吗?
无需任何转换。保持时间戳字段不变,并以字符串文本形式提供日期参数
SELECT id,created_Date FROM customers
WHERE created_Date BETWEEN '2016-05-07' AND '2016-05-08'
MySQL的类型系统可以(并且应该)处理这个问题。
见 http://sqlfiddle.com/#!9/691df/1
p.s.:第二个参数可以'2016-05-08 23:59:59'
包括整个 5 月 8 日。