Sql server 2008 SQL Server 2008 DATEPART函数
我需要一个查询来更新Sql server 2008 SQL Server 2008 DATEPART函数,sql-server-2008,Sql Server 2008,我需要一个查询来更新DATETIME类型的列,方法是使用DATEPART()函数在hours列中仅添加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_l
DATETIME
类型的列,方法是使用DATEPART()
函数在hours
列中仅添加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
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
您可以使用
dateadd()
但是为什么要使用datepart()
因为当我单独使用GETDATE()时,它工作得很好。无法使用更新完成更新,我必须提供列名。用户登录时间的字段类型是什么?用户登录时间是日期时间类型