Проблема с Datetime мастера импорта и экспорта SQL Server

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

введите здесь описание изображения

Я импортирую это в существующую таблицу с ExecutionDateTime Column, установленным как Datetime2.

ExecutionDateTime   datetime2,

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

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

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

введите здесь описание изображения

Ожидал :

введите здесь описание изображения Возможно ли это?

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

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


person ProgSky    schedule 24.04.2018    source источник


Ответы (1)


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

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

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

update mytable 
set ExecutionDateTime = null
where ExecutionDateTime = ''

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

person scsimon    schedule 24.04.2018
comment
Спасибо. Я сделал заявление об обновлении, чтобы исправить это. Мне было интересно, есть ли в Мастере какие-либо настройки, которые могут решить эту проблему. - person ProgSky; 24.04.2018