Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Point de terminaison d’analytique SQL dans Microsoft Fabric
Entrepôt dans Microsoft Fabric
Base de données SQL dans Microsoft Fabric
Effectue une opération d’exclusivité OR logique au niveau du bit entre deux valeurs entières.
Conventions de la syntaxe Transact-SQL
Syntax
expression ^ expression
Arguments
expression
Toute expression valide d’un des types de données de la catégorie de type de données entier, ou du bit, ou des types de données binaires ou varbinaires . L’expression est traitée comme un nombre binaire pour l’opération au niveau du bit.
Note
Une seule expression peut être de type binary ou varbinary dans une opération au niveau du bit.
Types de retour
int si les valeurs d’entrée sont int.
smallint si les valeurs d’entrée sont smallint.
tinyint si les valeurs d’entrée sont tinyint.
Remarks
L’opérateur ^ au niveau du bit effectue une exclusivité OR logique au niveau du bit entre les deux expressions, en prenant chaque bit correspondant pour les deux expressions. Les bits du résultat sont définis 1 si les bits (mais pas les deux) (pour le bit actuel en cours de résolution) dans les expressions d’entrée ont la valeur 1. Si les deux bits sont 0 ou les deux bits 1, le bit dans le résultat est effacé à une valeur de 0.
Si les expressions de droite et de gauche ont des types de données integer (entier) différents (par exemple, l’expression de gauche est de type smallint et l’expression de droite est de type int), l’argument du type de données le plus petit est converti dans le type de données plus grand. Dans cet exemple, l’expressionsmallint est convertie en un int.
Examples
L’exemple suivant crée une table avec le type de données int pour stocker les valeurs d’origine et insère deux valeurs dans une ligne.
CREATE TABLE bitwise
(
a_int_value INT NOT NULL,
b_int_value INT NOT NULL
);
GO
INSERT bitwise
VALUES (170, 75);
GO
La requête suivante effectue l’exclusivité OR au niveau du bit sur les colonnes et b_int_value les a_int_value colonnes.
SELECT a_int_value ^ b_int_value
FROM bitwise;
GO
Voici l'ensemble des résultats.
-----------
225
La représentation binaire de 170 (a_int_value ou A) est 0000 0000 1010 1010. La représentation binaire de 75 (b_int_value ou B) est 0000 0000 0100 1011. L’exécution de l’opération exclusive OR au niveau du bit sur ces deux valeurs produit le résultat 0000 0000 1110 0001binaire, qui est décimal 225.
(A ^ B)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 1110 0001