UPPER_ ATTRIBUTE _ NAMES fonction - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

UPPER_ ATTRIBUTE _ NAMES fonction

Convertit tous les noms d'attributs applicables dans une SUPER valeur en majuscules, en utilisant la même routine de conversion majuscules que leUPPERfonction. UPPER_ ATTRIBUTE _ NAMES prend en charge UTF -8 caractères multioctets, jusqu'à un maximum de quatre octets par caractère.

Pour convertir les noms d'SUPERattributs en minuscules, utilisez le. LOWER_ ATTRIBUTE _ NAMES fonction

Syntaxe

UPPER_ATTRIBUTE_NAMES(super_expression)

Arguments

super_expression

Une expression SUPER.

Type de retour

SUPER

Exemples

Conversion des noms SUPER d'attributs en majuscules

L'exemple suivant utilise UPPER _ ATTRIBUTE _ NAMES pour convertir les noms d'attributs de toutes les SUPER valeurs d'une table.

-- 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"]}]

Observez le fonctionnement de UPPER ATTRIBUTE _ _NAMES.

  • NULLles valeurs et les SUPER valeurs scalaires telles que celles qui "a" sont inchangées.

  • Dans un SUPER objet, tous les noms d'attributs sont remplacés par des majuscules, mais leurs valeurs "b" restent inchangées.

  • UPPER_ ATTRIBUTE _ NAMES s'applique de manière récursive à tout SUPER objet imbriqué dans un SUPER tableau ou dans un autre objet.

Utilisation de UPPER _ ATTRIBUTE _ NAMES sur un SUPER objet dont les noms d'attributs sont dupliqués

Si un SUPER objet contient des attributs dont les noms ne diffèrent que dans leur cas, UPPER ATTRIBUTE _ _ NAMES génère une erreur. Prenez l’exemple de code suivant.

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