2

私はmysqlにインポートしているcsvファイルを持っています.csvファイルには次のようにフォーマットされた日付フィールドがあります:30.09.2011

データベースからデータを取得する php ページがあり、日付フィールドで並べ替えたいと考えています。現時点では、日付を文字列として見て、そのように並べています..

30.09.2011 6.02.2012 7.10.2011 9.12.2008

ありがとう!

4

2 に答える 2

2

これには PHP を使用しないでください。ソースで修正します。つまり、 datatype の MySQL テーブルに新しい列を追加しますDATE

次に、インポート後に を使用してデータを入力できますSTR_TO_DATE()

UPDATE your_table SET new_date_column = STR_TO_DATE(old_str_column,'%d.%m.%Y');

そうすることで、並べ替え、計算、書式設定などが将来的に簡単になります。

于 2012-07-20T01:41:46.287 に答える
0

定期的に CSV 内のデータを抽出する場合、抽出 SQL を変更して、MySQL がデータを吸い込むのに適した形式で日付が出力されるようにしてみませんか?

たとえば、オラクルから抽出している場合は、変更できます

select
    yourDateColumn
from
    yourTable

select
    to_char(yourDateColumn, 'YYYY-MM-DD') as yourMySQLDateColumn
from
    yourTable

次に、Mysql の日付データ型に直接インポートできますが、PHP のアップロード全体をスキップして、MySQL Load Data Infileコマンドに直接移動することもできます。これは、PHP が実行する何よりも高速です。

于 2012-07-20T01:51:01.767 に答える