| (Bitweises OR) (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics-Endpunkt in Microsoft Fabric Warehouse in Microsoft Fabric

Führt eine bitweise logische OR-Operation zwischen zwei gegebenen ganzzahligen Werten durch, die innerhalb von Transact-SQL-Anweisungen in binäre Ausdrücke umgewandelt wurden.

Transact-SQL-Syntaxkonventionen

Syntax

expression | expression  

Argumente

expression
Ein beliebiger gültiger Ausdruck der Datentypkategorie „integer“ oder vom Datentyp bit, binary oder varbinary. expression wird in der bitweisen Operation als binäre Zahl behandelt.

Hinweis

Nur eines der expression-Argumente kann in einer bitweisen Operation vom Datentyp binary oder varbinary sein.

Ergebnistypen

Gibt Folgendes zurück: ein int, wenn die Eingabewerte auch int sind, ein smallint, wenn die Eingabewerte smallint sind, oder ein tinyint, wenn die Eingabewerte tinyint sind.

Bemerkungen

Mit dem bitweisen |-Operator wird zwischen zwei Ausdrücken ein bitweises logisches OR ausgeführt, indem die jeweils entsprechenden Bits der beiden Ausdrücke verarbeitet werden. Ein Ergebnisbit wird dann auf den Wert 1 festgelegt, wenn mindestens eines der Bits (für das aktuell aufzulösende Bit) der Eingabeausdrücke den Wert 1 aufweist. Falls keines der Bits in den Eingabeausdrücken den Wert 1 hat, wird das entsprechende Bit im Ergebnis auf 0 festgelegt.

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 Beispiel wird smallintexpression in einen int konvertiert.

Beispiele

Im folgenden Beispiel wird zum Anzeigen der ursprünglichen Werte eine Tabelle mit Werten vom int-Datentyp und gibt der Tabelle die Form einer einzelnen Zeile.

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 ein bitweises OR zwischen den Spalten a_int_value und b_int_value durch.

SELECT a_int_value | b_int_value  
FROM bitwise;  
GO  

Hier sehen Sie das Ergebnis.

-----------   
235           
  
(1 row(s) affected)  

Die binäre Darstellung von 170 (a_int_value, unten mit A bezeichnet) ist 0000 0000 1010 1010. Die binäre Darstellung von 75 (b_int_value, unten mit B bezeichnet) ist 0000 0000 0100 1011. Die Anwendung einer bitweisen OR-Operation auf diese beiden Werte erzeugt das binäre Ergebnis 0000 0000 1110 1011, was dem dezimalen Wert 235 entspricht.

(A | B)  
0000 0000 1010 1010  
0000 0000 0100 1011  
-------------------  
0000 0000 1110 1011  

Weitere Informationen

Operatoren (Transact-SQL)
Bitweise Operatoren (Transact-SQL)
|= (Zuweisung von bitweisem OR) (Transact-SQL)
Verbundoperatoren (Transact-SQL)