Opps I think I read your question backwards:DECLARE @t TABLE(Mask INT)INSERT @TSELECT 1UNION SELECT 2UNION SELECT 3UNION SELECT 4UNION SELECT 5UNION SELECT 8UNION SELECT 10UNION SELECT 16UNION SELECT 524288-- Where BIT 19 is setSELECT *FROM @tWHERE Mask & POWER(2, 19) <> 0-- Clear BIT 19--Using Math--UPDATE @T --SET Mask = Mask - POWER(2, 19)--WHERE Mask & POWER(2, 19) <> 0--Using XORUPDATE @T SET Mask = Mask ^ POWER(2, 19)WHERE Mask & POWER(2, 19) <> 0-- ResultsSELECT * FROM @T