2016-06-30 6 views
0

大容量のcsvデータファイルをMySQLにインポートする必要があります。また、MySQLのunix_timestamp関数を使用して日付をインポートしようとすると、レコードの約半分がそれを作成しませんでした。複数の日付形式を簡単に統合する方法は?

私の知る限り、日時の値は最初の「月」桁またはその2桁のいずれかでフォーマットされ、同じことが月の日付になります(例:6/6/2014 3:48 PM 2014年12月16日3:48 PM)これはインポートを完全に破棄します(レコードの約半分はインポートされません)。

私はこれをunix_timestampに変換しようとしています。

今、私はこのようなものを修正するための正規表現を使用してスクリプトを書くことができると知っていますが、このように大量インポートを行う簡単な方法があるのでしょうか?レコードについては、テキストエディタを使用して、csvのSQL文を「挿入する」文として記述しています。これは、日付の書式設定を使用しようとしたところですが、1つの書式しか受け入れられないようです。

入力のような小さな違いでこれを行う方法はありますか?

+0

[STR_TO_DATE](https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-現在まで);それでも、使用する日付書式を指定する必要があるため、文字列を解析して形式を検索する必要があります。 – Uueerdo

答えて

0

実は、私のコメントにもかかわらず、このかもしれない仕事のようなもの:

COALESCE(STR_TO_DATE(val, "formatcandidate1") 
    , STR_TO_DATE(val, "formatcandidate2") 
    , STR_TO_DATE(val, "formatcandidate3") 
    , STR_TO_DATE(val, "formatcandidate4") 
    , [etc...] 
    ) AS dateVal 
0

行うためのオンラインツールがありますもの reports.zoho.comのこの種は、それらの1

です

このツールでは、特定の日付形式を適用してデータをインポートし、他の行をスキップできます。あなたがいずれかを持っている場合 と、あなたのファイルに存在しているフォーマットのすべての種類のために

を同じことを行うことができ、最終的にすべてのデータ

に同じ日付フォーマットでデータをエクスポートすることができますが、私に疑問を尋ねますこれに関して:

関連する問題