SSIS получает только год производного столбца, который является датой и временем - PullRequest
2 голосов
/ 14 апреля 2020

Мне нужно сделать FORM_YEAR годом производного столбца. Производный столбец называется Invoice_Document_Date, а его тип данных - DateTime, поэтому я хочу получить только год. Для моего выражения я написал YEAR(dc_Invoice_Document_Date), но это не так. Чего мне не хватает, чтобы сделать это выражение успешным?

1 Ответ

2 голосов
/ 15 апреля 2020

Убедитесь, что тип данных столбца SSIS не DT_DBTIMESTAMPOFFSET или DT_DBTIMESTAMP2. Поскольку в официальной документации они упоминали, что:

Не удается проверить выражение, когда литерал даты явно приведен к одному из следующих типов данных даты: DT_DBTIMESTAMPOFFSET и DT_DBTIMESTAMP2.

Вы можете попытаться преобразовать типы данных dc_Invoice_Document_Date в DT_DATE или DT_DBDATE или DT_DBTIMESTAMP. Например:

YEAR((DT_DBTIMESTAMP)[dc_Invoice_Document_Date]))

Вы также можете использовать функцию DATEPART () следующим образом:

DATEPART("yy",[dc_Invoice_Document_Date]))
...