MySQL:在日期dd.mm.yyyy hh.mm.ss之间选择

时间:2016-05-08 16:31:33

标签: mysql date select between

我可以用什么mysql语法根据“日期之间”从mysql表中选择数据? 我有一个列只包含日期格式如:08.05.2016 18:09:31(dd.mm.yyyy hh.mm.ss)

1 个答案:

答案 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'