SQL Server 2008 DATEPART功能

时间:2013-12-05 04:18:25

标签: sql-server-2008

我需要一个查询来更新DATETIME类型的列,只需使用Hours函数在DATEPART()列中添加2小时即可。请帮帮我。

我的查询如下:

UPDATE logdetails 
SET user_logouttime = DATEPART(HH, user_logouttime) + 2 
WHERE id = (SELECT TOP 1 id FROM logdetails 
            WHERE user_id = 10 
            ORDER BY user_logintime DESC)

它只是使用默认值更新时间列,而我只需要更新数小时而不是整个时间。如果它是2013-12-05:09:45:58,我希望它是2013-12-05:11:45:58

1 个答案:

答案 0 :(得分:1)

    declare @no_hours int
        set @no_hours = 2
declare @a datetime
set @a='2013-12-05 09:45:58'

    select dateadd(HOUR, @no_hours, @a) as new_time_added

fiddle demo