簡體   English   中英

CSV 日期格式轉 MySQL 日期格式

[英]CSV date format to MySQL date format

當我嘗試將 CSV 文件導入 MySQL 時,所有日期都變為0000-00-00

CSV 日期格式為DD/MM/YYYY ,例如 16/11/2016。

MySQL 格式為: YYYY/MM/DD 我正在使用 phpmyadmin 來導入它。 如何解決這個日期轉移?

我認為,您需要在添加到MYSQL數據庫之前更改日期格式。

$old_date = date('dd/mm/yyyy');            
$middle = strtotime($old_date);            
$new_date = date('yyyy/mm/dd', $middle);   

DD/MM/YYYY格式在MySQL中不是有效日期。 您可以將LOAD DATASTR_TO_DATE一起使用,以將日期字符串解析為MySQL可以識別的實際日期:

LOAD DATA INFILE 'path/to/file.csv'
INTO TABLE yourTable FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' 
(
    col1, col2, @var1, col4
)
SET date_col = STR_TO_DATE(@var1, '%d/%m/%Y')

上面假設您的表有4列,並且從CSV文件讀取的第三列是麻煩的日期。 這里的技巧是,每個日期字符串都將被動態映射為有效的日期類型,從而為您提供所需的結果。

另一種選擇是使用 Notepad++ 的CSV Lint 插件 該插件可以檢測 csv 文件中的數據類型,包括日期時間格式。 您只需選擇重新格式化即可將所有DD/MM/YYYY值更改為YYYY/MM/DD格式。

或者,除了使用LOAD DATA INFILE ,還有一個菜單選項可以將 csv 文件轉換為 SQL 插入腳本。

CSV Lint 插件

它將為 csv 文件中的每一行創建INSERT語句,批量為 1000 條記錄。 此外,它還考慮了列數據類型和日期時間格式,它會自動將日期值轉換為正確的 SQL 日期時間。

CSV Lint 插件生成 SQL 插入

生成的 SQL 腳本還包含一個CREATE TABLE部分,其中每列具有正確的數據類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM