T-SQL で datetime を 1h づつインクリメントする
完全に備忘録。
use hoge go DECLARE @ID int DECLARE @targetdate datetime DECLARE CUR CURSOR LOCAL FOR SELECT ID FROM user.target OPEN CUR FETCH NEXT FROM CUR INTO @ID SET @targetdate = '2011-1-1' UPDATE user.target set target_field = @fromdate WHERE id = @ID WHILE @@FETCH_STATUS = 0 BEGIN FETCH NEXT FROM CUR INTO @ID SET @targetdate = DATEADD(hour,1,@targetdate) UPDATE user.target set target_field = @targetdate WHERE OBJECTID = @ID END CLOSE CUR DEALLOCATE CUR GO