Я импортировал CSV-файл, где определенный столбец имеет десятичное число.Преобразование числовых полей в MySQL
В исходном файле excel (перед сохранением его в CSV) первое число столбца отображается как 218 790. Когда я выбираю ячейку, номер отображается как 218790.243077911.
В CSV-файле номер отображается как 218790, и когда я выбираю ячейку, она составляет 218 790.
Когда я импортирую файл на mySQL и показываю созданную таблицу, номер отображается как 218.000000000.
Вот код, который я использовал:
create table Apolo_Test(
Leads decimal (15,9)
);
LOAD DATA LOCAL INFILE 'C:/Users/SCRIPTS/file.csv'
INTO TABLE Apolo_Test
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 7 ROWS
;
Я попытался обновить формат с этим:
update Apolo_Test set Leads = format(Leads, 10, 'de_DE');
, но это не сработало. У меня никогда не было случая, когда файлы имели запятую раньше. Я думаю, это британская версия числовых полей.
Как можно заставить его работать на mySQL без использования каких-либо MACROS в excel?
UPD: Это работает, но я получаю некоторые предупреждения, хотя я проверил файл CSV и поля:
create table Apolo_Test(
Ad_Group varchar(50),
Impacts int,
Leads decimal (10,3)
);
LOAD DATA LOCAL INFILE 'C:/Users/apolo.siskos/Desktop/SCRIPTS/11/Adalyser.csv'
INTO TABLE Apolo_Test
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 7 ROWS
(Ad_Group, Impacts, @Leads)
SET Leads = replace(@Leads, ',', '');
;
alter table Apolo_Test ADD IPL decimal (10,6) after Leads;
update Apolo_Test set IPL=Impacts/Leads;
select * from Apolo_Test;
Я получаю сообщение об ошибке, и я попытался изменить заказ. Это не работает :( –
@ApoloRadomer Что такое сообщение об ошибке? – Jens
Кажется, что проблема заключается в десятичной (15,9) строке. Я получаю предупреждение о «Data Truncated», в котором содержится больше данных, чем были входные столбцы Я проверил, что данные в столбцах невелики. Я также открыл.csv-файл в блокноте ++ и нет пустых столбцов. –