Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Führt einen bitweise logischen Exklusivvorgang OR zwischen zwei ganzzahligen Werten aus.
Transact-SQL-Syntaxkonventionen
Syntax
expression ^ expression
Arguments
expression
Ein beliebiger gültiger Ausdruck eines der Datentypen "Integer" oder " bit" oder " binary " oder "varbinary ". expression wird in der bitweisen Operation als binäre Zahl behandelt.
Note
Nur eines der expression-Argumente kann in einer bitweisen Operation vom Datentyp binary oder varbinary sein.
Rückgabetypen
int, wenn die Eingabewerte vom Typ int sind.
smallint, wenn die Eingabewerte vom Typ smallint sind.
tinyint, wenn die Eingabewerte vom Typ tinyint sind
Remarks
Der ^ Bitweise-Operator führt eine bitweise logische Exklusivität OR zwischen den beiden Ausdrücken aus, wobei jedes entsprechende Bit für beide Ausdrücke verwendet wird. Die Bits im Ergebnis werden festgelegt, 1 wenn beide Bits (für das aktuelle Bit, das aufgelöst wird) in den Eingabeausdrücken einen Wert aufweisen 1. Wenn beide Bits oder beide Bits sind 01, wird das Bit im Ergebnis auf einen Wert von 0.
Wenn der linke und der rechte Ausdruck unterschiedliche ganzzahlige Datentypen aufweisen (beispielsweise ist der linke expression-Ausdruck vom Datentyp smallint und der rechte expression-Ausdruck von Datentyp int), wird das Argument mit dem kleineren Datentyp in den größeren Datentyp konvertiert. In diesem Fall wird der smallint-Ausdruck in einen int konvertiert.
Examples
Im folgenden Beispiel wird eine Tabelle mit dem int-Datentyp erstellt, um die ursprünglichen Werte zu speichern, und zwei Werte in eine Zeile einfügt.
CREATE TABLE bitwise
(
a_int_value INT NOT NULL,
b_int_value INT NOT NULL
);
GO
INSERT bitwise
VALUES (170, 75);
GO
Die folgende Abfrage führt die Bitweise exklusiv OR für die und b_int_value die a_int_value Spalten aus.
SELECT a_int_value ^ b_int_value
FROM bitwise;
GO
Hier ist das Ergebnis.
-----------
225
Die binäre Darstellung von 170 (a_int_value oder A) ist 0000 0000 1010 1010. Die binäre Darstellung von 75 (b_int_value oder B) ist 0000 0000 0100 1011. Durch ausführen des bitweise exklusiven OR Vorgangs für diese beiden Werte wird das binäre Ergebnis 0000 0000 1110 0001erzeugt, das dezimal 225 ist.
(A ^ B)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 1110 0001