没有秒我需要能够从一个CSV文件(我不能改变)导入到mysql数据库的日期和时间,看起来像这样在csv = 201210021015
导入时间/日期从CSV
即YYYYMMDDHHMM
。 ..但没有秒
当我导入201111221420
到DATETIME
我得到奇怪的结果,如2020-11-11
。
A TIMESTAMP
格式忽略小时和分钟。
有谁能提醒一下吗?
没有秒我需要能够从一个CSV文件(我不能改变)导入到mysql数据库的日期和时间,看起来像这样在csv = 201210021015
导入时间/日期从CSV
即YYYYMMDDHHMM
。 ..但没有秒
当我导入201111221420
到DATETIME
我得到奇怪的结果,如2020-11-11
。
A TIMESTAMP
格式忽略小时和分钟。
有谁能提醒一下吗?
使用str_to_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')
谢谢dnagirl,这对我很好。现在全部运行起来。 – highfidelity
尝试一个大整数格式,而不是日期格式
为什么会有这种帮助?你能证明它如何帮助吗? –
一个大整数格式可以简单地存储YYYYMMDDHHMM数字而不用任何格式。之后您可以使用代码格式化数字。只是一个想法;它可能或可能不是您的需求的最佳解决方案。 –
它看起来像代码假设你有YYMMDDHHMMSS格式,并且正在用当前世纪代替'缺失'CC(因此201111221420被视为2020-11-11 21:14:20而不是2011-11-22 14:20:00)。一种修复方法是将缺少的00添加到字段末尾(在导入之前编辑CSV文件,也许使用[CSVFix](http://code.google.com/p/csvfix/))。可能有其他方法来达到您的要求的结果。 –
这很有道理,谢谢乔纳森。我想如果必须调整csv,但那会变成一件持续的杂事。我想'修复'它在MySQL中,如果我可以...... – highfidelity
有可能简单的解决方案,你如何在MySQL中导入CSV文件?如果你只导入一次csv文件,你可以使用记事本++做一些奇妙的事情...... – Justin