【问题标题】:LOAD DATA LOCAL INFILE date format from csv从 csv 加载 DATA LOCAL INFILE 日期格式
【发布时间】:2015-05-16 12:26:29
【问题描述】:

我一直在尝试将文件拉入表中,而我遇到的唯一问题是导入日期(当前为 'MM/DD/YY' 格式)。无论我尝试什么,它们最终看起来都像'0008-12-14'。该日期是 .csv 文件中的 8/12/14。我试过了

SET ShipDate = STR_TO_DATE(@ShipDate,'%Y%m%d')

但随后将它们导入为NULL。表字段设置为DATE。代码如下:

$query = <<<eof
    LOAD DATA LOCAL INFILE 'file.csv'
     INTO TABLE HS_import
     FIELDS TERMINATED BY ','
     LINES TERMINATED BY '\n'
     IGNORE 1 LINES
    (AmountPaid,
ShipDate)
SET ShipDate = STR_TO_DATE(@ShipDate,'%Y%m%d')
eof;

【问题讨论】:

    标签: php mysql load-data-infile


    【解决方案1】:

    STR_TO_DATE 的格式错误。它应该指定输入格式而不是输出格式:

    SET ShipDate = STR_TO_DATE(@ShipDate,'%d%m%y')
    

    所以整个事情应该看起来像

      LOAD DATA LOCAL INFILE 'file.csv'
      INTO TABLE HS_import
      FIELDS TERMINATED BY ','
      LINES TERMINATED BY '\n'
      IGNORE 1 LINES
      (AmountPaid, @ShipDate)
      SET ShipDate = STR_TO_DATE(@ShipDate,'%d%m%y')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-24
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-12
      • 2012-10-05
      相关资源
      最近更新 更多