SQL Server Import and Export Wizard Проблема с датой и временем - PullRequest
0 голосов
/ 24 апреля 2018

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

enter image description here

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

ExecutionDateTime   datetime2,

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

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

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

enter image description here

Ожидаемое:

enter image description here Возможно ли это?

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

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

1 Ответ

0 голосов
/ 24 апреля 2018

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

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

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

update mytable 
set ExecutionDateTime = null
where ExecutionDateTime = ''

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

...