1

nextUpdate可以是过去的任何日期时间值。我正在尝试将nextUpdate字段更新为今天的日期,但保持时间不变,然后添加 8 小时。

我明白了

将字符串转换为日期时间时出错

T-SQLe:

UPDATE 
    business.dbo.db_schedule  
SET 
    nextUpdate = DATEADD(hh, 8, CONVERT(datetime, CONVERT(VARCHAR(8), GETDATE(), 111) + ' ' + CONVERT(VARCHAR(8), nextUpdate, 108), 111))  
WHERE
    sno = 8

datetime我所在位置的格式是 111

4

1 回答 1

3
UPDATE business.dbo.db_schedule
SET nextUpdate= DATEADD(hh, 8,
                DATEADD(d, DATEDIFF(D,nextUpdate,Getdate()),
                          nextUpdate))
where sno=8
于 2012-10-01T13:31:28.330 回答