2013-10-14 3 views
1

В моем файле CSV, есть AuthorID на них в строчном форматеSQL Server: преобразование строки в Int при импорте из CSV

Можно ли в запросе SQL Server, при импорте CSV, конвертировать String в Integer?

BULK 
INSERT Author 
FROM 'C:\author.csv' 
WITH 
(
FIRSTROW = 2, 
<Convert Column 1 to Integer> 
FIELDTERMINATOR = ',', 
ROWTERMINATOR = '\n' 
) 
GO 
+0

Он должен работать, только если у вас есть столбец типа 'int', и все значения в csv действительно являются числами. – Szymon

+0

Согласен. В этом весь смысл CSV-импорта. CSV является агностиком типа, поэтому он должен вывести это из типа столбца адресата. Вы получаете какие-либо ошибки? В этом случае вы также должны опубликовать их в вопросе. –

+0

Это ошибка: Msg 4864, Level 16, State 1, Line 1 Ошибка преобразования данных массовой загрузки (несоответствие типа или недопустимый символ для указанной кодовой страницы) для строки 2, столбец 1 (pubId). – user2741620

ответ

0

для манипулирования данными передачи Свисток данных используют пакеты SSIS, я не думаю, что вы можете сделать что-нибудь с самими данными с объемной вставкой заявления свистеть вы вставляете его в таблицу. Столбец назначения должен иметь соответствующий и правильный DATATYPE, и он должен работать.
В случае, если вы задаете тип данных для столбца назначения INT, и у вас нет строк в ваших данных, он должен работать нормально.
Если вы все еще получаете ошибки, вам следует проверить данные, которые вы вставляете, и если есть какие-либо данные, которые необходимо изменить, прежде чем они могут быть вставлены в столбец типа данных INT, вам может потребоваться использовать пакет SSIS.

Смежные вопросы