我有資料,日期列顯示 5 個數字,如 43390。
在 Excel 上轉換之前的資料如下所示:
| 日期 |
|---|
| 43390 |
| 43599 |
我在 excel 中將其轉換為日期型別,并使用本地 infile 將其匯入 MySQL Workbench。
轉換后 Excel 上的資料:|日期| |:---- |2018/10/17| |2019/05/14|
但是,我在 MySQL 上遇到了多個問題,希望得到您的幫助。
首先,當我在 MySQL 上創建一個表時,如下所示:
CREATE TABLE df
(
dates DATE,
store_num INT,
loyalty_card_num INT,
txin_id INT,
prod_num INT,
product_name VARCHAR(250),
product_qty INT,
total_sales FLOAT
);
然后使用以下代碼匯入:
LOAD DATA LOCAL INFILE 'file_location/data.csv'
INTO TABLE df
FIELDS TERMINATED BY ','
ENCLOSED BY "'"
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(dates, store_num, loyalty_card_num, txin_id, prod_num, product_name, product_qty, total_sales);
我的日期欄上有 0000-00-00。
如果我將日期列型別更改為 VARCHAR(20) 或 INT,它只會顯示像 2018 年這樣的年份。
我也嘗試使用
(@dates, store_num, loyalty_card_num, txin_id, prod_num, product_name, product_qty, total_sales);
set dates = date_format(@dates, "%Y-%m-%d)
但回傳空值。
我只是想讓它顯示正確的日期格式,比如 2018-01-01,但真的很難得到結果。
感謝您的幫助,如果我解釋的不清楚,請告訴我。
uj5u.com熱心網友回復:
STR_TO_DATE作為加載資料程序的一部分,您可以在此處呼叫并將輸入檔案中的文本字串轉換為正確的日期:
LOAD DATA LOCAL INFILE 'file_location/data.csv'
INTO TABLE df
FIELDS TERMINATED BY ','
ENCLOSED BY "'"
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(@var1, store_num, loyalty_card_num, txin_id, prod_num, product_name, product_qty, total_sales)
SET dates = STR_TO_DATE(@var1, '%Y/%m/%d');
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/349042.html
