0

如何正确地做到这一点

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
4

2 回答 2

1

那这个呢:

Select DATE_FORMAT(EventDate, '%b %d, %Y') from details Order by EventDate
于 2012-10-18T16:35:52.860 回答
0
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
于 2012-10-18T16:59:31.703 回答