一尘不染

LOAD DATA INFILE可以轻松地将YYYYMMDD转换为YYYY-MM-DD吗?

mysql

嗨,我有一个要导入的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

是否有任何简单的方法可以将日期转换为“ 2012-04-03”,而无需执行诸如先使用perl脚本打开日期,转换日期然后再次将文件写回的操作?

TIA!


阅读 321

收藏
2020-05-17

共1个答案

一尘不染

这将在一个步骤中加载和转换,不需要另一张表。有关更多信息,请参见手册

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