Mysql将字符串读取为datetime



你好,我正在使用LOAD DATA INFILE在MySQL中填充一个表。

LOAD DATA INFILE 'test.txt'
INTO TABLE myTestTable
FIELDS TERMINATED BY 't'
IGNORE 1 LINES;

除了我的数据中有一个日期时间列,它的格式在日期和时间部分之间没有任何分隔符之外,一切都很顺利。像这样:

SomeDateColumn
20050101081946

当我读到这篇文章时,MySQL用伪值替换了所有日期。有没有一种方法可以让MySQL直接从文件中正确读取?

谢谢!

您可以在运行LOAD DATA时调用STR_TO_DATE,并将文本日期转换为真实的动态日期:

LOAD DATA INFILE 'test.txt'
INTO TABLE myTestTable
FIELDS TERMINATED BY 't'
IGNORE 1 LINES
(
col1, col2, @var1     -- list out all columns here
)
SET SomeDateColumn = STR_TO_DATE(@var1, '%Y%m%d%h%i%s');

最新更新