问题描述
我知道之前已经发布过类似的问题,但是当我根据评论中的建议尝试遵循类似的方法时,它根本无济于事。我的查询如下:
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 (将#修改为@)