如何正确地做到这一点
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
Order by STR_TO_DATE(EventDate, '%d-%m-%y')
因此,我们从EventDate
您所说的 a开始,DATE
并将其作为第一个参数提供给STR_TO_DATE()
。此类函数需要一个字符串,因此 MySQL 可能使用默认格式 (YYYY-MM-DD) 将您的日期转换为字符串。然后它尝试使用 DD-MM-YYYY 作为格式将字符串转换为日期,但您的字符串不是该格式。你明白我想去哪里吗?
总而言之:您不需要将日期投射到日期——它已经是一个日期了!
Order by EventDate