mysqlのドキュメントで指定されているようにdate_formatを使用する
select date_format('20-May-2013', '%d-%b-%Y');
null を返します。なぜですか?
DATE_TIME()を使用して日付を解析しようとしていますが、その関数は逆のことを目的としています。既知のフォーマットされた日付を取得し、カスタムフォーマットを使用して表示します。おそらく必要なのはSTR_TO_DATE()関数です。
select str_to_date('20-May-2013', '%d-%b-%Y');