将SQL中的DateTime Column和smallint列合并到DateTime中?

时间:2016-01-22 21:18:33

标签: sql sql-server datetime

我有一个[DT]列,它是一个日期时间'yyyy-mm-hh'格式。下一栏,[HOUR]是当天的一小时。它从1开始而不是0.所以1是午夜,2是凌晨1,等等。

我正在尝试将这两者合并到一个日期时间列中。即,DT + [小时-1]。但是,我在C#中这样做,并认为它可以在SQL中完成。这就是我现在所拥有的:

SELECT  [DT]
    ,[HOUR]
    DATETIMEFROMPARTS ( YEAR(DT), MONTH(DT), DAY(DT), [HOUR] -1, 0, 0, 0 ) 
    FROM [Battery].[Forecast]

但它抱怨使用DT的一年。我对SQL很新,所以任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

SELECT DATEADD(HOUR, (2 - 1), '2016-01-22 22:22:22');

或在你的情况下

SELECT DATEADD(HOUR, ([HOUR] - 1), DT);