BITFunktion _ AND - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

BITFunktion _ AND

Die AND Funktion BIT _ führt bitweise AND Operationen für alle Werte in einer einzelnen Integer-Spalte oder einem Ausdruck aus. Diese Funktion aggregiert jedes Bit jedes Binärwerts, das jedem Ganzzahlwert im Ausdruck entspricht.

Die AND Funktion BIT _ gibt ein Ergebnis zurück, 0 wenn keines der Bits für alle Werte auf 1 gesetzt ist. Wenn für einen der Werte mindestens ein Bit auf 1 festgelegt ist, gibt die Funktion einen Ganzzahlwert zurück. Diese Ganzzahl ist die Nummer, die dem Binärwert für diese Bits entspricht.

Beispielsweise enthält eine Tabelle vier Ganzzahlwerte in einer Spalte: 3, 7, 10 und 22. Diese Ganzzahlen werden wie folgt in binärer Form dargestellt:

Ganzzahl Binärwert
3 11
7 111
10 1010
22 10110

Eine BIT _ AND -Operation für diesen Datensatz stellt fest, dass alle Bits nur 1 an der second-to-last Position auf gesetzt sind. Das Ergebnis ist der Binärwert 00000010, der für den Ganzzahlwert 2 steht. Daher kehrt die AND Funktion BIT _ zurück2.

Syntax

BIT_AND ( [DISTINCT | ALL] expression )

Argumente

Ausdruck

Die Zielspalte oder der Ausdruck, für die/den die Funktion ausgeführt wird. Dieser Ausdruck muss den INT8 Datentyp INTINT2,, oder haben. Die Funktion gibt einen INT INT2 äquivalenten oder INT8 Datentyp zurück.

DISTINCT | ALL

Mit dem Argument DISTINCT entfernt die Funktion alle doppelten Werte für den angegebenen Ausdruck, bevor das Ergebnis berechnet wird. Mit dem Argument ALL behält die Funktion alle doppelten Werte bei. ALList die Standardeinstellung. Weitere Informationen finden Sie unter DISTINCTUnterstützung für bitweise Aggregationen.

Beispiele

Da relevante geschäftliche Informationen in Ganzzahlspalten gespeichert werden, können Sie bitweise Funktionen verwenden, um diese Informationen zu extrahieren und zu aggregieren. Die folgende Abfrage wendet die AND Funktion BIT _ auf die LIKES Spalte in einer aufgerufenen Tabelle an USERLIKES und gruppiert die Ergebnisse nach der CITY Spalte.

select city, bit_and(likes) from userlikes group by city order by city; city | bit_and --------------+--------- Los Angeles | 0 Sacramento | 0 San Francisco | 0 San Jose | 64 Santa Barbara | 192 (5 rows)

Diese Ergebnisse können wie folgt interpretiert werden:

  • Der Ganzzahlwert 192 für Santa Barbara wird in den Binärwert 11000000 übersetzt. Mit anderen Worten, allen Benutzern in dieser Stadt gefallen Sport und Theater. Nicht allen Benutzern gefallen jedoch auch andere Arten von Veranstaltungen.

  • Die Ganzzahl 64 entspricht 01000000. Es gibt also nur eine Art von Veranstaltung, die allen Benutzern in San Jose gefällt: Theater.

  • Der Wert 0 für die anderen drei Städte zeigt an, dass es keine Veranstaltungen gibt, die allen Benutzern in diesen Städten gefallen.