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

Funktion UPPER_ATTRIBUTE_NAMES

Konvertiert alle zutreffenden Attributnamen in einem SUPER-Wert in Großbuchstaben und verwendet dabei dieselbe Umwandlungsroutine wie bei. Die Funktion UPPER UPPER_ATTRIBUTE_NAMES unterstützt UTF-8-Multibyte-Zeichen, bis zu einem Maximum von vier Byte pro Zeichen.

Um SUPER-Attributnamen in Kleinbuchstaben umzuwandeln, verwenden Sie den. Funktion LOWER_ATTRIBUTE_NAMES

Syntax

UPPER_ATTRIBUTE_NAMES(super_expression)

Argumente

super_expression

Ein SUPER-Ausdruck.

Rückgabetyp

SUPER

Beispiele

SUPER-Attributnamen in Großbuchstaben konvertieren

Im folgenden Beispiel werden UPPER_ATTRIBUTE_NAMES verwendet, um die Attributnamen aller SUPER-Werte in einer Tabelle zu konvertieren.

-- Create a table and insert several SUPER values. CREATE TABLE t (i INT, s SUPER); INSERT INTO t VALUES (1, NULL), (2, 'a'::SUPER), (3, JSON_PARSE('{"AttributeName": "b"}')), (4, JSON_PARSE( '[{"Subobject": {"c": "c"}, "Subarray": [{"d": "d"}, "e"] }]')); -- Convert all attribute names to uppercase. UPDATE t SET s = UPPER_ATTRIBUTE_NAMES(s); SELECT i, s FROM t ORDER BY i; i | s ---+-------------------------------------------------- 1 | NULL 2 | "a" 3 | {"ATTRIBUTENAME":"B"} 4 | [{"SUBOBJECT":{"C":"c"},"SUBARRAY":[{"D":"d"}, "e"]}]

Beobachten Sie, wie UPPER_ATTRIBUTE_NAMES funktioniert.

  • NULL-Werte und skalare SUPER-Werte wie sind unverändert. "a"

  • In einem SUPER-Objekt werden alle Attributnamen in Großbuchstaben geändert, Attributwerte wie z. B. "b" bleiben jedoch unverändert.

  • UPPER_ATTRIBUTE_NAMES gilt rekursiv für jedes SUPER-Objekt, das in einem SUPER-Array oder in einem anderen Objekt verschachtelt ist.

Verwendung von UPPER_ATTRIBUTE_NAMES für ein SUPER-Objekt mit doppelten Attributnamen

Wenn ein SUPER-Objekt Attribute enthält, deren Namen sich nur in ihrer Groß- und Kleinschreibung unterscheiden, gibt UPPER_ATTRIBUTE_NAMES einen Fehler aus. Betrachten Sie das folgende Beispiel.

SELECT UPPER_ATTRIBUTE_NAMES(JSON_PARSE('{"A": "A", "a": "a"}')); error: Invalid input code: 8001 context: SUPER value has duplicate attributes after case conversion.