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

Fonction UPPER_ATTRIBUTE_NAMES

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

Pour convertir les noms d'attributs SUPER en minuscules, utilisez le. Fonction LOWER_ATTRIBUTE_NAMES

Syntaxe

UPPER_ATTRIBUTE_NAMES(super_expression)

Arguments

super_expression

Une super expression.

Type de retour

SUPER

Exemples

Conversion des noms d'attributs SUPER en majuscules

L'exemple suivant utilise UPPER_ATTRIBUTE_NAMES pour convertir les noms d'attribut de toutes les valeurs SUPER 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.

  • Les valeurs NULL et les valeurs scalaires SUPER telles que celles-ci restent "a" inchangées.

  • Dans un objet SUPER, 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 objet SUPER imbriqué dans un tableau SUPER ou dans un autre objet.

Utilisation de UPPER_ATTRIBUTE_NAMES sur un objet SUPER avec des noms d'attributs dupliqués

Si un objet SUPER contient des attributs dont les noms ne diffèrent que dans leur cas, UPPER_ATTRIBUTE_NAMES générera 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.