2012-06-06 37 views
0

非常非常简单的查询,如下所示:选择日期返回不正确的值? MySQL的

select distinct start_date from calls_list where start_date >= '06/06/2012 00:00:00'; 

返回

06/06/2012 09:27:40 
06/06/2012 09:28:08 
06/06/2012 09:28:18 
06/06/2012 09:29:18 
31/05/2012 07:02:46 
31/05/2012 07:04:22 
31/05/2012 07:04:35 
31/05/2012 07:08:16 

而且我抓我的头...任何想法?我来自MSSQL背景,所以它可能是MySQL处理日期和时间不同?

+2

“start_date”的数据类型是什么?我希望它是'DATETIME',而不是'VARCHAR'。 –

+0

我试图解决的东西,有人交给了我,所以我得查。它是做什么的情况是报表使用PHP脚本被导出为CSV,然后导入到MySQL的一个可笑的复杂的方式。本报告中的日期格式为DD/MM/YYYY HH:MM:SS所以有效仿的是(或许这也正是问题) – franglais

+1

什么是列的数据类型?您可以通过运行DESCRIBE calls_list查询来检查。顺便说一句,无论数据库背景如何,日期都应该作为日期存储并在插入/选择时进行转换。 –

回答

0

似乎start_dateDATETIME场。每一行都不同 - 相同的日期,但不同的时间。我建议:

select distinct DATE(start_date) from calls_list where start_date >= '06/06/2012 00:00:00';