ホームページ  >  記事  >  データベース  >  LOAD DATA INFILE 中に YYYYMMDD 日付を YYYY-MM-DD に変換するにはどうすればよいですか?

LOAD DATA INFILE 中に YYYYMMDD 日付を YYYY-MM-DD に変換するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-18 05:29:01900ブラウズ

How to Convert YYYYMMDD Dates to YYYY-MM-DD During LOAD DATA INFILE?

LOAD DATA INFILE を使用した YYYYMMDD から YYYY-MM-DD への日付のインポート

LOAD DATA INFILE を使用して INFILE からデータをインポートする場合、 YYYYMMDD 形式で保存された日付が表示される場合があります。これは、日付を YYYY-MM-DD 形式にする必要があるデータベースを操作する場合に問題になる可能性があります。

解決策:

幸いなことに、日付は簡単に変換できます。 LOAD DATA INFILE ステートメント自体内で目的の形式に変換できるため、スクリプトを使用した外部変換の必要がなくなります。この変換には STR_TO_DATE() 関数が使用されます。

たとえば、YYYYMMDD 形式の日付を含む次の INFILE について考えてみましょう:

AADR,20120403,31.43,31.43,31.4,31.4,1100
AAU,20120403,2.64,2.65,2.56,2.65,85700
AAVX,20120403,162.49,162.49,154.24,156.65,2200

このデータをインポートし、日付を YYYY に変換するには-MM-DD 形式を 1 つのステップで実行するには、次の LOAD DATA INFILE ステートメントを使用します。

LOAD DATA INFILE 'file.txt'
INTO TABLE t1
FIELDS TERMINATED BY ',' 
(column1, @var1, column3, ...)
SET column2 = STR_TO_DATE(@var1,'%Y%m%d')

このステートメント内:

  • @var1 は、 INFILE 内の YYYYMMDD 日付値のプレースホルダー。
  • STR_TO_DATE() は、@var1 値を YYYYMMDD 形式から YYYY-MM-DD に変換します。
  • %Y%m%d は、YYYYMMDD 形式の形式指定子です。

このステートメントを実行すると、t1 テーブルの日付は YYYY-MM-DD 形式になり、次のようになります。これらはデータベース要件とその後の操作と互換性があります。

以上がLOAD DATA INFILE 中に YYYYMMDD 日付を YYYY-MM-DD に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。