| (Bitweises OR) (Transact-SQL)

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.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

expression | expression

Argumente

  • expression
    Jeder gültige Ausdruck von einem Datentyp aus der ganzzahligen Datentypkategorie oder die Datentypen bit, binary oder varbinary. expression wird für die bitweise Operation als binäre Zahl behandelt.

    ms186714.note(de-de,SQL.90).gifHinweis:
    Bei einer bitweisen Operation kann nur ein expression vom Datentyp binary oder varbinary sein.

Hinweise

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 vom smallint-Datentyp und der rechte expression vom int-Datentyp), wird das Argument mit dem kleineren Datentyp in den größeren Datentyp konvertiert. In diesem Beispiel wird smallintexpression in den int-Typ konvertiert.

Ergebnistypen

Gibt einen Wert vom int-Datentyp zurück, wenn die Eingabewerte vom int-Datentyp sind, einen smallint-Wert bei smallint-Eingabewerten oder einen tinyint-Wert, wenn die Eingabewerte vom tinyint-Datentyp sind.

Beispiele

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

USE tempdb;
GO
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES 
      WHERE TABLE_NAME = 'bitwise')
   DROP TABLE bitwise;
GO
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.

USE tempdb;
GO
SELECT a_int_value | b_int_value
FROM bitwise;
GO

Dies ist das Resultset. 

----------- 
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

Siehe auch

Verweis

Operatoren (Transact-SQL)

Andere Ressourcen

Bitweise Operatoren (Datenbankmodul)

Hilfe und Informationen

Informationsquellen für SQL Server 2005