Mysql 从csv导入时间/日期(无秒)
我需要能够从csv文件(我无法更改)导入mysql数据库,日期和时间在Mysql 从csv导入时间/日期(无秒),mysql,Mysql,我需要能够从csv文件(我无法更改)导入mysql数据库,日期和时间在csv=201210012015 ieYYYYMMDDHHMM…但没有秒 当我将201111221420导入到DATETIME中时,我会得到像2020-11-11这样的奇怪结果 时间戳格式忽略小时和分钟 有人能提供建议吗?尝试大整数格式,而不是日期格式使用str\u to\u date()函数如下: 像这样的方法应该会奏效: load data infile 'myfile.csv' into table xxx field
csv=201210012015
ieYYYYMMDDHHMM
…但没有秒
当我将201111221420
导入到DATETIME
中时,我会得到像2020-11-11
这样的奇怪结果
时间戳格式忽略小时和分钟
有人能提供建议吗?尝试大整数格式,而不是日期格式使用
str\u to\u date()
函数如下:
像这样的方法应该会奏效:
load data infile 'myfile.csv'
into table xxx
fields terminated by ','
lines terminated by '\n'
(@col1)
set
col1 = str_to_date(@col1, '%Y%m%d%H%i')
代码似乎假设您有YYMMDDHHMMSS格式,并用当前世纪替换“缺失”CC(因此201111221420被视为2020-11-11 21:14:20,而不是2011-11-22 14:20:00)。一种修复方法是将缺少的00添加到字段的末尾(在导入CSV文件之前编辑它,可能使用)。也许还有其他方法可以达到你所要求的结果。这是有道理的,谢谢乔纳森。如果有必要,我曾想过调整csv,但这将成为一项持续的家务。如果可以的话,我想在MySQL中“修复”它……可能有一个简单的解决方案,你们如何在MySQL中导入CSV文件?如果只导入一次csv文件,就可以用记事本++做一些神奇的事情……为什么会有帮助?您能演示一下它是如何起作用的吗?大整数格式只需存储YYYYMMDDHHMM数字,而不需要任何格式。随后,您可以使用代码格式化数字。只是一个想法;这可能是也可能不是满足您需求的最佳解决方案。谢谢dnagirl,这对我很有效。一切都准备好了。