これを正しく行う方法
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
あなたが言うところから始めて、DATE
それをの最初の引数としてフィードしSTR_TO_DATE()
ます。このような関数は文字列を想定しているため、MySQLはおそらくデフォルトの形式(YYYY-MM-DD)を使用して日付を文字列としてキャストします。次に、DD-MM-YYYYを形式として使用して文字列を現在までキャストしようとしますが、文字列はその形式ではありません。私が行きたいところが分かりますか?
要約すると、日付を日付にキャストする必要はありません。すでに日付になっています。
Order by EventDate