Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting
Funktion UPPER_ATTRIBUTE_NAMES
Konvertiert alle zutreffenden Attributnamen in einem SUPER-Wert in Großbuchstaben und verwendet dabei dieselbe Umwandlungsroutine wie Die Funktion UPPER. UPPER_ATTRIBUTE_NAMES unterstützt UTF-8-Multibyte-Zeichen bis zu einer maximalen Länge von vier Bytes pro Zeichen.
Um SUPER-Attributnamen in Kleinbuchstaben umzuwandeln, verwenden Sie Funktion LOWER_ATTRIBUTE_NAMES.
Syntax
UPPER_ATTRIBUTE_NAMES(super_expression)
Argumente
- super_expression
-
Ein SUPER-Ausdruck.
Rückgabetyp
SUPER
Beispiele
Konvertieren von SUPER-Attributnamen in Großbuchstaben
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
"a"sind unverändert.In einem SUPER-Objekt werden alle Attributnamen zu 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.