Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 从csv导入时间/日期(无秒)_Mysql - Fatal编程技术网

Mysql 从csv导入时间/日期(无秒)

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文件(我无法更改)导入mysql数据库,日期和时间在
csv=201210012015

ie
YYYYMMDDHHMM
…但没有秒

当我将
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,这对我很有效。一切都准备好了。