添加时间值
我的日期值来自sis中的某个变量。我想在此日期添加晚上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兼容格式。
答案 0 :(得分:1)
您可以简单地转换为字符串并与200000
连接,然后重新转换为整数以获得yyyyMmddHHmmss
格式:
(DT_I4)((DT_WSTR,20)@[User::DateIntegerVariable] + "200000")
如果此问题与您的previous question有关,请使用以下命令:
(DT_I4)(REPLACE(SUBSTRING((DT_WSTR,50)DATEADD("dd", -1 - (DATEPART("dw", getdate()) % 7), getdate()),1,10),"-","") + "200000")
答案 1 :(得分:0)
假设您的变量是日期时间,并且有一段时间
首先(通过转换)截断时间,然后增加20小时。
这是另一个变量的公式:
DATEADD("hh",20, (DT_DATE)(DT_DBDATE)GETDATE())
结果: 6/14/2019 8:00:00
只需用变量替换getdate()。