0
Je veux supprimer un drapeau d'un champs de bits et en même temps, je veux ajouter deux drapeauxBitwise Addition et Soustraction dans une instruction SQL unique
Declare @status int = 3
SET @status &= ~3 -- this will remove 1 and 2 if exists
SET @status |= 12 -- this will add 4 and 8 if exists
Je veux faire les deux ensemble que cela est utilisée dans une instruction de mise à jour comme,
SET @status = (@status | 12) - (CASE WHEN (@status & 2 = 2) THEN 2 ELSE 0 END) - (CASE WHEN (@status & 1 = 1) THEN 1 ELSE 0 END)
Tout le monde sait comment faire la partie de soustraction à l'aide des opérateurs de bits ainsi qu'une partie d'addition.
Quelque chose comme,
SET @status |= 12 & ~2 --But this doesn't do what I want
Merci à l'avance.
Oui c'est grâce Gordon – Ash