2009-03-20 8 views

Répondre

3

Oui, vous pouvez effectuer des opérations au niveau du bit sur les champs int/uint.

Par exemple, considérez ceci:

declare @myvar int 
set @myvar = 3 
if ((@myvar & 2) = 2) 
begin 
    print 'hello' 
end 
+0

mis à jour ma réponse, la syntaxe était loin - le concept est le même :) – eglasius

+0

Je suis sûr que la question a changé depuis que vous y avez répondu (parce que votre exemple de code est correct), donc pour plus de clarté, pourriez-vous mettre à jour votre texte d'ouverture pour dire, "Oui, vous pouvez faire des opérations bitwise sur les champs int/uint"? Je le ferais moi-même, mais je suppose que je n'ai pas assez de points de rep. – David

+0

@David c'est vrai, la question a changé après cette réponse - thx (mis à jour). – eglasius

-1

Um .... c'est un BIT quelle valeur souhaitez-vous stocker autre que 0 ou 1? Donc, réponse directe, non.

Modifier. J'ai répondu à votre sujet, pas votre description. S'il vous plaît clarifier la question.

0

La réponse est OUI!

Tout simplement parce qu'ils s'appellent des opérateurs de bits, les dopes ne signifient pas qu'ils fonctionnent uniquement sur des valeurs de données stockées dans le typo "Bit" de SQL Server.

Toutes les données sont stockées dans l'ordinateur sous forme de bits ... de sorte que vous pouvez utiliser les opérateurs sur de nombreux types de manipulation de bits, y compris les types entiers int, smallint, tinyint, etc ..

les opérateurs utilisent ne sont pas au niveau du bit -limité aux valeurs de type Bit.

Je ne sais pas si vous pouvez l'utiliser sur d'autres types ,, mais juste essayer et voir ce qui se passe ...

Questions connexes