SQL Server Import and Export Wizard Проблема с датой и временем

Мне нужно импортировать плоский CSV-файл со столбцом даты и времени - "ExecutionDateTime". Этот столбец может иметь пустые значения, например:

Я импортирую это в существующую таблицу, в которой для столбца ExecutionDateTime установлено значение Datetime2.

ExecutionDateTime   datetime2,

Когда я импортирую с помощью мастера экспорта SQL Server, я получаю значение "0001-01-01 00: 00: 00.0000000" для пустой строки. Я хочу, чтобы он прочитал NULL.

Столбец ExecutionDateTime устанавливается как Datetime2.

Текущее поведение:

Ожидаемый:

Это возможно?

Я использую SQL Server 2012.

Есть указатели?

1 ответ

Решение

Я не думаю, что это возможно с волшебником. Но вы можете использовать оператор case при импорте...

insert into mytable
select
   Id
   ,case when ExecutionDateTime = '' then null else ExecutionDateTime end
from --openrowset, etc...

Или, вы всегда можете исправить это после того, как набор данных небольшой 0r вы используете промежуточную таблицу...

update mytable 
set ExecutionDateTime = null
where ExecutionDateTime = ''

Вот пример использования BULKINSERT

Другие вопросы по тегам