UPPER_ ATTRIBUTE _ Funktion 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.

UPPER_ ATTRIBUTE _ Funktion NAMES

Konvertiert alle zutreffenden Attributnamen in einem SUPER Wert in Großbuchstaben und verwendet dabei dieselbe Konvertierungsroutine wie bei. UPPERFunktion 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. LOWERFunktion _ ATTRIBUTE _ NAMES

Syntax

UPPER_ATTRIBUTE_NAMES(super_expression)

Argumente

super_expression

Ein SUPER-Ausdruck.

Rückgabetyp

SUPER

Beispiele

SUPERAttributnamen in Großbuchstaben konvertieren

Im folgenden Beispiel werden UPPER _ ATTRIBUTE _ verwendetNAMES, 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.

  • NULLWerte und SUPER Skalarwerte wie z. B. "a" sind unverändert.

  • 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, ATTRIBUTE NAMES löst UPPER _ _ 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.