我有这样一个sql脚本:
LOAD DATA LOCAL INFILE 'XXXXXX/sample.csv'
INTO TABLE test_01
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 ROWS (id, @DATE_01, @DATE_02, VALUE, @DATE_03)
SET `DATE_01` = STR_TO_DATE(@DATE_01, '%d/%m/%Y'),
`DATE_02` = STR_TO_DATE(@DATE_02, '%d/%m/%Y'),
`DATE_03` = STR_TO_DATE(@DATE_03, '%d/%m/%Y')
csv文件如下所示:
如果我检查三个日期列的格式,它们是'dd/mm/yyy hh:mm'
我的文件总行数是2000+,但我只能得到1100+行,其他显示错误
1107 row(s) affected, 64 warning(s): 1292 Truncated incorrect date value: '01/12/2010 00:00' 1292 Truncated incorrect date value: '03/02/2011 00:00' 1292 ...........
Records: 2365 Deleted: 0 Skipped: 1258 Warnings: 7095
新创建的表中的日期格式如下所示: yyyy-mm-dd 00:00:00
为什么时间都转换为'00:00:00',如何解决这个问题?我是sql新手,我已经为这个问题绞尽脑汁一整天了,请帮助。。。。
这是预期的日期时间格式:
1条答案
按热度按时间nxagd54h1#
要提供给的格式说明符
STR_TO_DATE()
只包括日期部分,不包括时间部分。你需要扩展它,就像这样: