日期导入不正确

问题描述

我知道之前已经发布过类似的问题,但是当我根据评论中的建议尝试遵循类似的方法时,它根本无济于事。我的查询如下:

LOAD DATA INFILE 'File.txt'
IGNORE
INTO TABLE table_name
FIELDS TERMINATED BY '^~'
LINES TERMINATED BY '\r\n'
IGNORE 1 ROWS
(RUN_DATE,PROC_DT,STL_DT,TRD_DT)
SET RUN_DATE = STR_TO_DATE(RUN_DATE,'%d-%b-%y'); 

文件中的记录看起来像这样:

RUN_DATE^~PROC_DT^~STL_DT^~TRD_DT
21-DEC-20^~23-DEC-20^~23-DEC-20^~21-DEC-20

加载的日期都填充为 '0000-00-00 00:00:00',我知道这是出现数据类型错误并且使用 IGNORE 时的默认值。从我在网上找到的内容来看,问题与文件内日期不是 yyyy-mm-dd 格式有关,这是 mySQL 的默认格式,但 '%d-%b-%y' 函数中的 STR_TO_DATE 应该有帮助缓解这个问题,因为

%d:作为数值的月份中的第几天(01 到 31)-

%b:缩写月份名称(一月到十二月)-

%y:作为数字的 2 位数字值的年份

为什么这没有帮助?我还尝试使用 LOWER() 使月份小写,认为缩写的月份可能需要全部小写,但这会产生相同的结果。我在这里错过了什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)