Opérateurs au niveau du bit (Transact-SQL)
S’applique à : point de terminaison d’analytique SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL Analytics dans Microsoft Fabric Warehouse dans Microsoft Fabric
Les opérateurs au niveau du bit exécutent des manipulations de bits entre deux expressions de tout type de données de la catégorie entier.
Les opérateurs au niveau du bit permettent de convertir deux valeurs entières en bits binaires, d’effectuer l’opération AND
, OR
ou NOT
sur chaque bit et de produire un résultat. Ils convertissent ensuite le résultat en entier.
Par exemple, l’entier 170
se convertit en binaire 1010 1010
.
L’entier 75
se convertit en binaire 0100 1011
.
Opérateur | Mathématiques au niveau du bit |
---|---|
AND Si les bits, quelle que soit leur position, sont tous les deux 1 , le résultat est 1 . |
1010 1010 = 1700100 1011 = 75----------------- 0000 1010 = 10 |
OR Si l’un ou l’autre des bits, quelle que soit sa position, est 1 , le résultat est 1 . |
1010 1010 = 1700100 1011 = 75----------------- 1110 1011 = 235 |
NOT Inverse la valeur de bit à chaque position de bit. |
1010 1010 = 170----------------- 0101 0101 = 85 |
Les articles suivants fournissent plus d’informations sur les opérateurs au niveau du bit disponibles dans le moteur de base de données :
- & (Opérateur AND au niveau du bit)
- & = (Affectation après AND au niveau du bit)
- | (Opérateur OR au niveau du bit)
- |= (Affectation après OR au niveau du bit)
- ^ (Opérateur OR exclusif au niveau du bit)
- ^= (Affectation après OR exclusif au niveau du bit)
- ~ (Opérateur NOT au niveau du bit)
Les opérateurs au niveau du bit suivants ont été introduits dans SQL Server 2022 (16.x) :
Les opérandes des opérateurs au niveau du bit peuvent être de tout type de données des catégories chaîne binaire ou entier (à l’exception du type de données image), mais les deux opérandes ne peuvent être de n’importe quel type de données de la catégorie chaîne binaire. Ce tableau indique les types de données d'opérandes pris en charge.
Opérande de gauche | Opérande de droite |
---|---|
binary | int, smallint ou tinyint |
bit | int, smallint, tinyint ou bit |
bigint | bigint, int, smallint, tinyint, binary ou varbinary |
int | int, smallint, tinyint, binary ou varbinary |
smallint | int, smallint, tinyint, binary ou varbinary |
tinyint | int, smallint, tinyint, binary ou varbinary |
varbinary | int, smallint ou tinyint |