Обработка даты и времени с помощью файла bcp и формата

StackOverflow https://stackoverflow.com/questions/1089457

  •  23-08-2019
  •  | 
  •  

Вопрос

Я использую bcp для импорта плоского файла в базу данных SQL Server 2005.

У меня возникла проблема с полями даты и времени.

Поле моего файла формата указано как:

<COLUMN SOURCE="15" NAME="DATEOFSERVICE" xsi:type="SQLDATETIME"/>

Мой файл данных имеет даты в формате:19820101

Однако некоторые (многие) заполнены 00000000.

Даты 00000000 не могут быть импортированы правильно из-за несоответствия типов.

Есть ли способ указать мой файл формата для обработки обнуленных дат?Или способ указать bcp ввести значение по умолчанию, если оно встретит 00000000?

Это было полезно?

Решение

Я бы предложил вам создать временную таблицу, в которой столбец даты указан как тип данных varchar.Затем перенесите ваши данные во временную таблицу.После загрузки данных во временную таблицу вы можете очистить дату (например, заменив 00000000 на NULL).Наконец, как только ваши данные будут проверены, скопируйте их в реальные таблицы.

Возможно, это не очень хорошо работает для очень больших файлов данных, но я не уверен, как еще это можно сделать.

Другие советы

я хотел бы использовать ОТКРЫТЬСЕТ с оператором случая для выполнения перевода при импорте данных.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top