Bonjour
Est il possible d'utiliser des operations boleenne en Sql Server
Du genre
A = (A OR B)
ou
A = (A AND B)
Ce que j'écrirais en C#
A |= B;
A &= B;
Merci de votre aide
Version imprimable
Bonjour
Est il possible d'utiliser des operations boleenne en Sql Server
Du genre
A = (A OR B)
ou
A = (A AND B)
Ce que j'écrirais en C#
A |= B;
A &= B;
Merci de votre aide
Non, pas directement. En revanche en utilisant des données de type hexadécimal, vous pouvez faire des opérations booléennes avec :
| => ou
& => et
^ => ou exclusif
NOT => négation
A =
Bonjour SQL Pro
J'avais peut etre mal posé la question ou je n'ai pas bien compris ta réponse, mais j'ai découvert que ce que je n'osais pas esperer est tout a fait possible
Exemple
Va sortir tous les status 128, 129, 130, 131 etc...Code:SELECT * FROM MaTable WHERE (MaTable.Status | 128) = 128
Ou bien
N.B. : Avec des types int !!Code:
1
2
3
4 UPDATE MaTable SET Status = (Status | 128) WHERE Status=7
Non, il s'agit d'un "ou" bit à bit ; comme 128 ne porte que sur un seul bit, (x|128) = 128 n'est vrai que pour x = 128.
On peut faire à peu près cela avec un "&", mais outre les nombres compris entre 129 et 255, ça va aussi sortir ceux qui sont compris entre 384 et 511, etc.
A lire : http://sqlpro.developpez.com/cours/stockageopt/
A +
Bien vu Rei Ichido !
C'est bien entendu un & que je voulais écrire
J'ai ecrit le message trop vite sans me relire :oops: