Я пытаюсь выполнить массовую вставку из файла csv
в таблицу SQL. Однако один из моих столбцов содержит числа с научной нотацией, например. 3E-4
. Назовите эту колонку Столбец X.Ошибка, связанная с научной записью при вводе данных в SQL
Я первый попытался создать таблицу с
numeric(18,9)
типа для Колонка X, но когда я пытаюсь массовых данных для вставки в таблицу, я ударил ошибку несоответствия типов для столбца X.Как этот post предложил, я попробовал следующее альтернативное решение: я создал другую таблицу, в которой вместо этого используются столбцы
varchar(255)
. В этом случае проблем с объемной вставкой нет. Но после ввода данных я попытался изменить тип столбца для Столбец X отvarchar(255)
доfloat
. Это дает мне ошибкуError converting datatype varchar to float
.
Я не уверен, как решить эту проблему. На веб-сайте Microsoft предлагается следующее: «Чтобы обойти это поведение, используйте формат файла для массового импорта данных научной записи с плавающей запятой в десятичный столбец. В файле формата явным образом описываю столбец как реальные или плавающие данные».
Я понятия не имею, как создавать файлы формата. Это единственный способ обойти эту проблему? Если да, может ли кто-нибудь помочь с использованием файла формата или вместо этого предоставить альтернативное решение?
Спасибо!
Смотрите, если [* это сообщение *] (http://stackoverflow.com/questions/7473081/convert-scientific-notation-to-float-when-using-openrowset-to-import-a -csv-file? rq = 1) предоставляет вам любую внутреннюю часть. –
Спасибо. Я уже упоминал этот пост и пытался вставить данные в столбец 'varchar', а затем преобразовать тип столбца в' float' (как указано в моем сообщении). Но в моем случае это не сработало. – Mayou