ssis выражение для добавления времени к дате - PullRequest
1 голос
/ 14 июня 2019

Добавить значение времени

У меня есть значение даты из некоторой переменной в ssis. Я хочу добавить отметку времени 8 вечера в эту дату. как это сделать?

DECLARE @a  int
SET @a = 20190611
--SELECT CONVERT(DATETIME,   CONVERT(DATE, CAST(CAST(@a AS INT) AS CHAR(8)), 112)  , @a)
SELECT DATEADD("hh", 20,CONVERT(DATETIME,   CONVERT(DATE, CAST(CAST(@a AS INT) AS CHAR(8)), 112)  , @a) )

Мне нужно преобразовать это выражение в формат, совместимый с SSIS.

Ответы [ 2 ]

1 голос
/ 14 июня 2019

Вы можете просто преобразовать в строку и объединить с помощью 200000 и преобразовать в целое число для получения yyyyMmddHHmmss формата:

(DT_I4)((DT_WSTR,20)@[User::DateIntegerVariable] + "200000")

Если этот вопрос относится к вашему предыдущему вопросу затем используйте следующее:

(DT_I4)(REPLACE(SUBSTRING((DT_WSTR,50)DATEADD("dd", -1 - (DATEPART("dw", getdate()) % 7), getdate()),1,10),"-","") + "200000")
0 голосов
/ 14 июня 2019

Предполагая, что ваша переменная имеет дату и время и имеет некоторое время

Сначала обрежьте время (с помощью приведения), а затем добавьте 20 часов.

Вот формула для другой переменной:

DATEADD("hh",20, (DT_DATE)(DT_DBDATE)GETDATE())

Результат: 14.06.2009 20:00

Просто замените getdate () на вашу переменную.

...