更新SQL但仅限于周五

时间:2016-11-10 12:36:23

标签: sql sql-server

enter image description here

在数据库中,我有两列,一列有DATE,另一列有HOUR,我必须在HOUR列中查看一段时间并进行更改。并且还要查找每个星期五并将其放在特定的HOUR中,但没有任何工作。

这是搜索HOUR并更改的代码,并且已经在运行:

UPDATE [dbo].[Clockings] set [Hour] = DATEADD(second,
   (ABS(CHECKSUM(NEWID())) % 900), '07:45:00.000') where [Hour] > 
   '04:00:00.000' and [Hour] < '07:45:00.000'

UPDATE [dbo].[Clockings] set [Hour] = DATEADD(second, 
   (ABS(CHECKSUM(NEWID())) % 900), '17:30:00.000') where [Hour] > 
   '17:45:00.000' and [Hour] < '23:59:59.000'

搜索DATE表没有任何效果。

enter image description here

1 个答案:

答案 0 :(得分:0)

回答 2012或更高版本:

Update Clockings
    Set ...
    Where DatePart(dw, [Date]) = 5; --Friday

注意,检查哪一天是一周的第一天。 https://msdn.microsoft.com/en-au/library/ms181598.aspx

DateName()功能也适用。