OVH Cloud OVH Cloud

inversion de bit en SQL

4 réponses
Avatar
Bonjour,

question comment avoir un retour inversé pour un bit simplement sans
m'embarquer dans un dedale de requete !


exemple si le bit vaut 0 alors je lui met 1
si le bit vaut 1 alors je lui met 0

je sais qu'en code a l'epoque j'utilisais bitchange !
dois bien y avoir une fonction dans SQL genre le NOT mais j'arrive à
l'appliquer correctement !

4 réponses

Avatar
Laurent MOREAU
Tu peux ajouter ^1

select 1 ^ 1 -> 0
select 0 ^ 1 -> 1


Sinon avec NOT ça devrait marcher


Laurent.



wrote in message
news:
Bonjour,

question comment avoir un retour inversé pour un bit simplement sans
m'embarquer dans un dedale de requete !


exemple si le bit vaut 0 alors je lui met 1
si le bit vaut 1 alors je lui met 0

je sais qu'en code a l'epoque j'utilisais bitchange !
dois bien y avoir une fonction dans SQL genre le NOT mais j'arrive à
l'appliquer correctement !




Avatar
Patrice
C'est ~ :

DECLARE @b AS BIT
SET @b=0
SET @b=~@b
PRINT @b
SET @b=~@b
PRINT @b

--

a écrit dans le message de
news:
Bonjour,

question comment avoir un retour inversé pour un bit simplement sans
m'embarquer dans un dedale de requete !


exemple si le bit vaut 0 alors je lui met 1
si le bit vaut 1 alors je lui met 0

je sais qu'en code a l'epoque j'utilisais bitchange !
dois bien y avoir une fonction dans SQL genre le NOT mais j'arrive à
l'appliquer correctement !




Avatar
Med Bouchenafa
C'est effectivement l'opérateur ~ (NOT au niveau du bit)
Mais il s'applique à toute donnée de type entier et pas seulement à un type
BIT comme le laisse (peut-être) supposé l'exemple de Patrice

--
Bien cordialement
Med Bouchenafa

"Patrice" a écrit dans le message de news:

C'est ~ :

DECLARE @b AS BIT
SET @b=0
SET @b=~@b
PRINT @b
SET @b=~@b
PRINT @b

--

a écrit dans le message de
news:
Bonjour,

question comment avoir un retour inversé pour un bit simplement sans
m'embarquer dans un dedale de requete !


exemple si le bit vaut 0 alors je lui met 1
si le bit vaut 1 alors je lui met 0

je sais qu'en code a l'epoque j'utilisais bitchange !
dois bien y avoir une fonction dans SQL genre le NOT mais j'arrive à
l'appliquer correctement !








Avatar
Merci beaucoup ca marche impec
je ne connaissais pas le signe ~ pour le not je l'ecrivais not comme dans le
WHERE

Merci à tous.



"Med Bouchenafa" a écrit dans le message de news:

C'est effectivement l'opérateur ~ (NOT au niveau du bit)
Mais il s'applique à toute donnée de type entier et pas seulement à un
type BIT comme le laisse (peut-être) supposé l'exemple de Patrice

--
Bien cordialement
Med Bouchenafa

"Patrice" a écrit dans le message de news:

C'est ~ :

DECLARE @b AS BIT
SET @b=0
SET @b=~@b
PRINT @b
SET @b=~@b
PRINT @b

--

a écrit dans le message de
news:
Bonjour,

question comment avoir un retour inversé pour un bit simplement sans
m'embarquer dans un dedale de requete !


exemple si le bit vaut 0 alors je lui met 1
si le bit vaut 1 alors je lui met 0

je sais qu'en code a l'epoque j'utilisais bitchange !
dois bien y avoir une fonction dans SQL genre le NOT mais j'arrive à
l'appliquer correctement !