1

私が対象としているテーブルのフィールドはdate_sent DATEです

CSV の一部と次のインポート クエリを次に示します。日付フィールドが NULL に設定されているのはなぜですか?

1,"1/21/2013","0",1
2,"2/27/2013","0",1

これが SQL

   LOAD DATA LOCAL INFILE 'C:/Users/Me/CSV.csv'
     INTO TABLE Collections
     FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
     LINES TERMINATED BY '\r\n'
(`id`, @DATE_STR, `col`, `sid`)
SET `date_sent` = STR_TO_DATE(@DATE_STR, '%m/%d/%Y')
4

2 に答える 2

2

MySQLの開発ページから

%m        Month, numeric (00..12)
%d        Day of the month, numeric (00..31)

代わりに使用する必要があります%c(おそらく%eあまりにも)。

%c        Month, numeric (0..12)
%e        Day of the month, numeric (0..31)
于 2013-03-18T16:54:45.227 に答える
1

次の日付形式を使用してみてください。

STR_TO_DATE(@DATE_STR, '%c/%e/%Y')
  • %cは月、数値、0..12%m月の形式です00..12
  • %eは月の日、数値で0..31あり%d、は形式の日です00..31

DATE_FORMATのドキュメントを参照してください。

于 2013-03-18T16:54:59.670 に答える