部分的な日付を含む文字列の列を csv ファイルにインポートしています。
インポート中に、「9 月 23 日」という形式の文字列を DATETIME 形式に変換する方法はありますか?
編集:質問を明確にしたので、以下の回答はあまり関係ありません。
これは醜いですが、動作します。主な問題は、年と時刻を作成することと、月の日の単一の数値を処理することでした。CONCAT_WS
このシナリオの接着剤は次のとおりです。
STR_TO_DATE(CONCAT_WS(',','September 5',YEAR(NOW()), TIME(NOW())), '%M %e, %Y, %T')
戻り値:
2012-09-05 11:51:46
DATE_FORMAT() を試すことができると思います。
mysql> SELECT STR_TO_DATE('OCT 1, 2013','%M %d,%Y'); // -> '2013-10-01'
STR_TO_DATE - フォーマット文字列に日付と時刻の両方の部分が含まれる場合は DATETIME 値を返し、文字列に日付または時刻の部分のみが含まれる場合は DATE または TIME 値を返します。str から抽出された日付、時刻、または日時の値が不正な場合、STR_TO_DATE() は NULL を返し、警告を生成します。