BIT_OR-Funktion - 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.

BIT_OR-Funktion

Die Funktion BIT _OR führt bitweise OR-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.

Nehmen wir an, dass eine Tabelle vier Ganzzahlwerte in einer Spalte enthält: 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

Wenn Sie die BIT _OR-Funktion auf die Menge von Ganzzahlwerten anwenden, sucht die Operation nach jedem Wert, in dem an jeder Position a 1 vorkommt. In diesem Fall ist 1 in den letzten fünf Positionen mindestens eines der Werte enthalten, was zu einem Binärergebnis von 00011111 führt. Daher gibt die Funktion 31 (oder 16 + 8 + 4 + 2 + 1) zurück.

Syntax

BIT_OR ( [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.

Beispiel

Die folgende Abfrage wendet die Funktion BIT _OR auf die LIKES Spalte in einer aufgerufenen Tabelle an USERLIKES und gruppiert die Ergebnisse nach der CITY Spalte.

select city, bit_or(likes) from userlikes group by city order by city; city | bit_or --------------+-------- Los Angeles | 127 Sacramento | 255 San Francisco | 255 San Jose | 255 Santa Barbara | 255 (5 rows)

Mindestens einem Benutzer in den vier aufgelisteten Städten gefallen alle Arten von Veranstaltungen (255=11111111). Mindestens einem Benutzer in Los Angeles gefallen alle Arten von Veranstaltungen außer Sport (127=01111111).