2012-10-01 76 views
1

nextUpdate可以是過去的任何日期時間值。我試圖將nextUpdate字段更新爲今天的日期,但保持時間不變,然後再添加8小時。SQL Server:轉換爲今天然後添加8小時

我得到

錯誤將字符串轉換爲datetime

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

+0

日期時間是SQL Server **沒有**任何格式 - 它只是一個8字節的數值.... –

回答

2
UPDATE business.dbo.db_schedule 
SET nextUpdate= DATEADD(hh, 8, 
       DATEADD(d, DATEDIFF(D,nextUpdate,Getdate()), 
          nextUpdate)) 
where sno=8 
相關問題