我可以用什么mysql语法根据“日期之间”从mysql表中选择数据? 我有一个列只包含日期格式如:08.05.2016 18:09:31(dd.mm.yyyy hh.mm.ss)
答案 0 :(得分:0)
我假设您在数据库设计中出现了早期错误,并将日期和时间放入varchar或某种字符串列类型。
因此,在这种情况下,您需要将字符串转换为正确的MYSQL DateTime,然后您可以使用BETWEEN
语法
SELECT * FROM TABLE
WHERE STR_TO_DATE(sillyDateColumn, '%d.%m.%Y %h:%i:s')
BETWEEN '2016-01-01 00:00:01' AND '2016-01-02 00:00:01'
为了将来参考,请始终将Dates或Time或DateTime值存储在适当的MYSQL数据类型中,即DATE或TIME或DATETIME
如果您的用户希望在系统上看到这些值的显示方式不同,请将日期格式设置为仅在表示层中的区域设置特定格式。
如果我错了,这些日期在DATETIME类型列中,那么您需要做的就是
SELECT * FROM TABLE
WHERE DateColumn BETWEEN '2016-01-01 00:00:01' AND '2016-01-02 00:00:01'