沒有秒我需要能夠從一個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