mysql でこのステートメントを実行すると、すべての行で null が返されます。
SELECT STR_TO_DATE('Fri, 22 Jun 2012 03:35:24 +0000', '%a, %e %b %Y %H:%i:%s %%%%%%%%%%') FROm t2;
の正しい指定子がわかりません+0000
。それは何ですか?
+0000はタイムゾーンオフセットです。
mySQLはタイムゾーンの概念を理解しておらず、明らかにどちらも理解していませんSTR_TO_DATE
。 日付/時刻形式のプレースホルダーのリストには、タイムゾーンがまったく記載されていません。
さまざまなタイムゾーンの日付が予想される場合、これはmySQLだけでは解決できないようです。日付を他の場所で前処理して、常にUTC(または該当する場合はローカルタイムゾーン)になるようにする必要があります。または、すでにUTCである場合は、ManseUKの提案(+0000
フォーマット文字列に追加してmySQLが無視する)を行う必要があります。仕事。