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.
✅ Azure Stream Analytics ✅ Fabric Eventstream
Führt einen bitweise logischen AND-Vorgang zwischen zwei ganzzahligen Werten aus, wobei jedes entsprechende Bit aus beiden Ausdrücken ausgewertet wird.
Syntax
expression & expression
Argumente
Ausdruck
Ist ein beliebiger gültiger Ausdruck der Datentypen Bit oder Bigint. Der Ausdruck wird als binäre Zahl für den bitweisen Vorgang behandelt.
Rückgabetypen
bit , wenn beide Eingabewerte Bit sind.
bigint , wenn ein oder beide Eingabewerte groß sind.
Bemerkungen
Der Operator " & bitweise" führt ein bitweises logisches UND zwischen den beiden Ausdrücken aus, wobei jedes entsprechende Bit für beide Ausdrücke verwendet wird. Die Bits im Ergebnis werden auf 1 festgelegt, wenn beide Bits (für das aktuelle bit, das aufgelöst wird) in den Eingabeausdrücken den Wert 1 aufweisen; andernfalls wird das Bit im Ergebnis auf 0 festgelegt.
Zur Veranschaulichung ist die binäre Darstellung von 170 0000 0000 1010 1010. Die binäre Darstellung von 75 ist 0000 0000 0100 1011. Wenn Sie den bitweisen AND-Vorgang für diese beiden Werte ausführen, wird das binäre Ergebnis 0000 0000 0000 1010 erzeugt, das dezimal 10 ist.
(170 & 75)
0000 0000 1010 1010
0000 0000 0100 1011
-------------------
0000 0000 0000 1010
Es ist zu beachten, dass das Umwandeln eines FLOAT-Werts in BIGINT und das Anwenden eines bitweisen Operators darauf meistens nicht dasselbe Ergebnis wie das Umwandeln in BIT und das Anwenden desselben Operators zurückgibt:
- Erste Option: 170 & 75,0 => 170 & 75 = 10
- Zweite Option: 170 & 75,0 => 170 & 1 = 0
Informationen zu den Regeln der Konvertierung in Bit finden Sie in der Übersicht über Datentypen.
Beispiele
Mit einem allgemeinen Eingabe-Dataset:
WITH MyCTE AS (
SELECT
CAST(0 AS BIT) AS bit0,
CAST(1 AS BIT) AS bit1,
CAST(NULL AS BIT) AS bitN,
CAST(0 AS BIGINT) AS bigint0,
CAST(1 AS BIGINT) AS bigint1,
CAST(NULL AS BIGINT) AS bigintN
FROM input
)
Anwenden des Operators auf Bitausdrücke :
SELECT
bit0,
bit1,
bitN,
bit0 & bit0 AS AND00,
bit0 & bit1 AS AND01,
bit1 & bit0 AS AND10,
bit1 & bit1 AS AND11,
bitN & bit0 AS ANDnull
INTO bitAND
FROM MyCTE
Rückgabewerte:
| bit0 | bit1 | bitN | AND00 | AND01 | AND10 | AND11 | ANDnull |
|---|---|---|---|---|---|---|---|
| Falsch | Wahr | NULL | Falsch | Falsch | Falsch | Wahr | NULL |
Anwenden des Operators auf bigint-Ausdrücke :
SELECT
bigint0,
bigint1,
bigintN,
bigint0 & bigint0 AS AND00,
bigint0 & bigint1 AS AND01,
bigint1 & bigint0 AS AND10,
bigint1 & bigint1 AS AND11,
bigintN & bigint1 AS ANDnull,
170 & 75 AS ANDvalues
INTO bigintAND
FROM MyCTE
Rückgabewerte:
| bigint0 | bigint1 | bigintN | AND00 | AND01 | AND10 | AND11 | ANDnull | ANDvalues |
|---|---|---|---|---|---|---|---|---|
| 0 | 1 | NULL | 0 | 0 | 0 | 1 | NULL | 10 |
Überprüfen der Ausgabetypen:
SELECT
GetType(bit0 & bit0) AS ANDtype_bit,
GetType(bigint0 & bigint0) AS ANDtype_bigint,
GetType(bit0 & bigint0) AS ANDtype_mixed
INTO typesAND
FROM MyCTE
Rückgabewerte:
| ANDtype_bit | ANDtype_bigint | ANDtype_mixed |
|---|---|---|
| Bit | bigint | bigint |