Импортировать пустую строку (значение столбца по умолчанию) вместо значения NULL при использовании утилиты bcp с файлом внешних данных и файлом формата

У меня небольшая проблема с использованием инструмента импорта bcp. Это тот случай, когда у меня есть файл данных .csv (разделитель полей, если | символ) и файл формата. Я могу успешно импортировать данные в таблицу, но она импортирует значение NULL вместо пустых строк в файле данных. рассмотрите ниже как образец записи в файле данных

col1|col2|||col5|col6

Я получил результат, как показано ниже

col1 col2 NULL NULL col5 col6

но я ожидаю вывода ниже

col1 col2  (empty string) (empty string) col5 col6 

в моем определении таблицы значения по умолчанию - пустая строка, это связано с проблемой с файлом данных (команда экспорта данных bcp) или моей командой импорта данных bcp.

это команда, которую я использовал для импорта данных bcp [database]. [table] в M: \ data \ xx.csv -f M: \ format \ XX.FMT -S serverName -T

Спасибо и все ответы приветствуются.


person Nish    schedule 11.10.2012    source источник
comment
Я не знаю вашего инструмента, но кажется, что он создает операторы INSERT INTO, где он создает значения NULL для не заданных значений.   -  person YvesR    schedule 11.10.2012


Ответы (2)


Я считаю, что вам нужно создать столбец таблицы, чтобы иметь значение по умолчанию, пустую строку ""

Например:

create table mytable (
  col1 varchar(10) default ""
)
person Mark Harrell    schedule 11.10.2012
comment
Я использую SQL Server 2008 и его инструменты для создания и изменения таблиц. Я ничего не помещаю для атрибута значения по умолчанию (значение по умолчанию или привязка) для каждого столбца и разрешен NULL. - person Nish; 12.10.2012
comment
Если определение столбца не может быть изменено, чтобы иметь значение по умолчанию, пустую строку, вы можете передать файл в промежуточную таблицу, а затем выполнить вставку в основную таблицу, где вставка может использовать пустую строку - person Mark Harrell; 16.10.2012
comment
Спасибо, Марк, на самом деле на этот раз я проверил возможность продолжить со значениями NULL. Поскольку нет проблем со значениями NULL, я сделал это как есть, потому что это причина потратить дополнительное время на добавление еще одной таблицы для импорта BCP, поскольку это небольшая часть задания БД. - person Nish; 22.10.2012

Вы можете обновить из интерфейса в Management Studio В свойствах редактора столбца Значение по умолчанию или Привязка: ('')

person Israel Margulies    schedule 23.12.2013