хранение datetime2 в переменной ssis - PullRequest
0 голосов
/ 28 декабря 2018

Я использую SQL Server 2012 Enterprise.У меня есть требование хранить данные с типом DATETIME2 в переменной SSIS.К сожалению, переменные SSIS не имеют такого типа данных.

Если я сохраню их в типе данных datetime, я теряю информацию.Кто-нибудь может помочь в решении проблемы?

PS: Моя исходная система - также SQL Server 2012, и я читаю данные из столбца с типом данных datetime2.

1 Ответ

0 голосов
/ 28 декабря 2018

SSIS, по крайней мере в настоящее время, имеет «известный» недостаток в том, что тип значения переменной, DateTime имеет точность только с точностью до секунды;фактически так же, как datetime2(0).Поэтому, если вам необходимо сохранить что-то более точное, чем секунда, например, если вы используете datetime и 1/300 секунды, или если вы используете datetime2 с точностью до 1 или более, значениевведите DateTime, не будет служить вашей цели.

Поэтому существует несколько различных вариантов сохранения значения в виде String или числового значения.Это, однако, идет со своими собственными проблемами;самое главное, что ни один из этих типов данных не является типом данных даты и времени.

Следовательно, это зависит от вашей цели.Скорее всего, я бы использовал тип данных String и убедился, что он имеет формат ISO ('yyyy-MM-ddThh:mm:ss.nnnnnnn').Если вы затем используете что-то вроде Задачи T-SQL, вы можете передать свою переменную как нормальную для задачи, и механизм обработки данных будет интерпретировать буквенную строку как datetime2(7) (или какую бы точную литерацию вы не использовали).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...