理由は聞かないでください (私の手に負えないことです)、日付は varchar(125) の MySQL DB に RFC-822 として保存されています。
RFC-822 =Mon Jun 13 2011 11:30:00 GMT-0400 (EDT)
またはMon Jun 13 17:00:00 EDT 2011
その形式で日付で並べ替える方法はありますか、少なくとも日付を YYYYMMDD または Unix 時間として取り出す方法はありますか?
一部のブードゥー教は、最初の形式で役立ちます。
SET @dt = 'Mon Jun 13 2011 11:30:00 GMT-0400 (EDT)';
SELECT
CONVERT_TZ(
-- Parse all, but timezone
STR_TO_DATE(@dt, '%a %b %e %Y %H:%i:%s'),
-- Parse timezone to '+NN:NN' format
INSERT(SUBSTRING_INDEX(SUBSTRING_INDEX(@dt, 'GMT', -1), ' ', 1), 4, 0, ':'),
-- Our unified timezone
'+00:00'
);
-- Result: 2011-06-13 15:30:00
CONVERT_TZ
EDT のような略語もサポートしていますが、すべてではありません。