Производный столбец служб SSIS Datetime Null значения

Импорт файла CSV в базу данных/таблицу SQL.

Есть столбец даты, который выглядит как «1899-12-30 00:00:00.000».

Столбец даты имеет значение Nullable на стороне базы данных.

Не уверен, почему он до сих пор показывает 1899 год.

Я использовал разные производные выражения, и ничего не работает.

Я хочу видеть Null вместо "1899-12-30 00:00:00.000" в таблице/базе данных.

Пожалуйста. совет


person user1810575    schedule 28.04.2017    source источник
comment
Вы пробовали NULL (DT_DATE)?   -  person TheEsnSiavashi    schedule 28.04.2017
comment
ISNULL((DT_STR,10,1252) [DateColumn]) ? :([DateColumn]) [DateColumn] == 01/0/1900 ? NULL(DT_DATE): (DT_DATE)([DateColumn]) ISNULL([DateColumn])? NULL(DT_DATE): [DateColumn] ISNULL((DT_DBTIMESTAMP)SUBSTRING((DT_STR,30,1252)[DateColumn],1,10)) ? NULL(DT_DATE): (DT_DBTIMESTAMP)SUBSTRING((DT_STR,30,1252)[DateColumn],1,10)   -  person user1810575    schedule 28.04.2017
comment
Ничего из перечисленного не работает   -  person user1810575    schedule 28.04.2017


Ответы (2)


Я попытался сохранить значения Null как Nulls в файле в источнике плоского файла.

Это решило проблему. Не уверен, как я упустил из виду этот вариант ..

person user1810575    schedule 28.04.2017

Это вариант:

  1. Сначала просто загрузите данные в базу данных. Не беспокойтесь о 1899-12-30 00:00:00.000.

  2. Добавьте задачу SQL и установите значение DateColumn равным NULL везде, где указано «1899-12-30 00:00:00.000». Я почти уверен, что в вашей базе данных нет фактических значений 1899-12-30 00:00:00.000, так что вам не о чем беспокоиться.

person TheEsnSiavashi    schedule 28.04.2017
comment
Я не могу обновить таблицу PROD из-за проблем с аудитом, вот в чем проблема. Только вставки.. - person user1810575; 28.04.2017