I do not see a value for 2 points. It's only a simple swap. It behaves the same in any sqlserver release.
DECLARE @MyTable TABLE (Col1 INT,
Col2 INT)
-- Col1 Col2
INSERT INTO @MyTable VALUES (1, 2)
INSERT INTO @MyTable VALUES (3, 4)
UPDATE @MyTable SET Col1 = Col2, Col2 = Col1
SELECT Col1, Col2 FROM @MyTable
Try this for fun:
DECLARE @MyTable TABLE (Col1 INT,
Col2 INT
,Col3 INT)
DECLARE @i INT
-- Col1 Col2
INSERT INTO @MyTable(Col1,Col2) VALUES (1, 2)
INSERT INTO @MyTable(Col1,Col2) VALUES (3, 4)
SET @i = 0
UPDATE @MyTable SET
@i = @i + Col1
, Col1 = Col2
, Col2 = Col1
, Col3 = @i
SELECT Col1, Col2, Col3 FROM @MyTable