Exportieren (0) Drucken
Alle erweitern
Erweitern Minimieren

& (Bitweises AND) (Transact-SQL)

Führt eine bitweise logische AND-Operation zwischen zwei ganzzahligen Werten aus.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen


expression & expression

expression

Bezeichnet jeden gültigen Ausdruck von einem Datentyp aus der ganzzahligen Datentypkategorie oder vom Datentyp bit, binary oder varbinary. expression wird als eine Binärzahl für die bitweise Operation behandelt.

Hinweis Hinweis

Bei einer bitweisen Operation kann nur ein expression vom Datentyp binary oder varbinary sein.

int wenn die Eingabewerte den Datentyp int haben.

smallint wenn die Eingabewerte den Datentyp smallint haben.

tinyint wenn die Eingabewerte den Datentyp tinyint oder bit haben.

Mit dem bitweisen &-Operator wird zwischen zwei Ausdrücken ein bitweises logisches AND ausgeführt, indem die jeweils entsprechenden Bits der beiden Ausdrücke verarbeitet werden. Ein Ergebnisbit wird genau dann auf den Wert 1 festgelegt, wenn beide Bits (für das aktuell aufzulösende Bit) der Eingabeausdrücke den Wert 1 aufweisen. Andernfalls 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 Fall wird smallintexpression in den int-Typ konvertiert.

Im folgenden Beispiel wird eine Tabelle mithilfe des int-Datentyps erstellt, um die Werte zu speichern. Zwei Werte werden in einer Zeile eingefügt.

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

Diese Abfrage führt ein bitweises AND zwischen den Spalten a_int_value und b_int_value durch.

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

Im Folgenden wird das Resultset aufgeführt:

----------- 
10          

(1 row(s) affected)

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. Wird eine bitweise AND-Operation auf diese beiden Werte angewendet, resultiert daraus das binäre Ergebnis 0000 0000 0000 1010, das dem Dezimalwert 10 entspricht.

(A & B)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 0000 1010

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2015 Microsoft