Mysql 事件日期Asc不正确
如何做到这一点Mysql 事件日期Asc不正确,mysql,date,Mysql,Date,如何做到这一点 Select DATE_FORMAT(EventDate, '%b %d, %Y') from details Order by STR_TO_DATE(EventDate, '%d-%m-%y') 样本记录 Oct 24, 2012 Oct 27, 2012 Oct 28, 2012 Oct 20, 2012 Dec 22, 2012 Jan 11, 2013 Jan 19, 2013 Nov 24, 2012 Dec 29, 2012 那么这个呢: Select DA
Select DATE_FORMAT(EventDate, '%b %d, %Y')
from details
Order by STR_TO_DATE(EventDate, '%d-%m-%y')
样本记录
Oct 24, 2012
Oct 27, 2012
Oct 28, 2012
Oct 20, 2012
Dec 22, 2012
Jan 11, 2013
Jan 19, 2013
Nov 24, 2012
Dec 29, 2012
那么这个呢:
Select DATE_FORMAT(EventDate, '%b %d, %Y') from details Order by EventDate
因此,我们从EventDate
开始,您说它是DATE
,我们将它作为第一个参数提供给STR\u to\u DATE()
。这样的函数需要一个字符串,所以MySQL可能使用默认格式(YYYY-MM-DD)将您的日期转换为字符串。然后它尝试使用DD-MM-YYYY作为格式将字符串转换为日期,但您的字符串不是该格式。你知道我想去哪里吗
总而言之:你不需要在约会之前设定日期——这已经是一个日期了
Order by EventDate
您将
EventDate
视为VARCHAR
和DATE
。它是什么数据类型?这是我对日期排序的查询,但日期的顺序不尽可能正确see@MargzJacela汤姆是对的,你说的顺序不正确到底是什么意思?列的数据类型是什么?EventDate字段的数据类型是什么?如果是日期,此查询将正确排序。如果不是日期,则条目在格式化之前是什么样子?@Margz,我的查询与你的查询不同。
Order by EventDate