Fonctions de manipulation de bits
S’applique à :SQL Server 2022 (16.x) Azure SQL DatabaseAzure SQL Managed InstancePoint de terminaison analytique SQL dans Microsoft FabricEntrepôt dans Microsoft Fabric
Les fonctions de manipulation de bits telles que le déplacement, la récupération (obtention), le paramétrage ou le comptage de bits uniques au sein d’un entier ou d’une valeur binaire, vous permettent de traiter et de stocker les données plus efficacement qu’avec des bits individuels.
Un bit a deux valeurs (1
ou 0
, qui représentent on
ou off
ou true
ou false
). Un octet est constitué d’une séquence de 8 bits. Les fonctions de manipulation de bits dans SQL Server traitent le bit le plus « à gauche » dans un octet comme le plus grand (le plus significatif). Pour les fonctions de manipulation de bits, les bits sont numérotés de droite à gauche, avec le bit 0
le plus à droite et le plus petit et le bit 7
étant le plus à gauche et le plus grand.
Par exemple, une séquence binaire de 00000111
est l’équivalent décimal du nombre 7
. Vous pouvez calculer cela à l’aide de puissances de 2 comme suit :
00000111 = (2^2 + 2^1 + 2^0 = 4 + 2 + 1 = 7)
Ce que cela signifie dans la pratique est que lorsque SQL Server stocke cette valeur comme 11100000
(inversé par octet), les fonctions de manipulation de bits le traiteront comme 00000111
.
Lorsque vous examinez plusieurs octets, le premier octet (lecture de gauche à droite) est le plus grand.
Vous pouvez utiliser les images suivantes pour visualiser comment les fonctions de manipulation de bits de SQL Server interprètent les valeurs d’expression de bits et d’octets et les décalages de bits.
int
smallint
Functions
Il existe cinq fonctions disponibles pour manipuler des bits dans SQL Server :
Les cinq fonctions sont destinées à fonctionner sur des types de données tinyint, smallint, int, bigint, binaire(n) et varbinaire(n).
Les types suivants ne sont pas pris en charge : varchar, nvarchar, image, ntext, texte, xml et table.
Remarques
Dans l’implémentation initiale, la fonctionnalité Requête distribuée pour les fonctions de manipulation de bits au sein de requêtes de serveur lié ou ad hoc (OPENQUERY) ne sera pas prise en charge.
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour