

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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\$1ATTRIBUTE\$1NAMES
<a name="r_upper_attribute_names"></a>

Convertit tous les noms d’attributs applicables dans une valeur SUPER en majuscules, en utilisant la même routine de conversion majuscules/minuscules que [Fonction UPPER](r_UPPER.md). UPPER\$1ATTRIBUTE\$1NAMES prend en charge les caractères à plusieurs octets UTF-8, à concurrence de quatre octets au maximum par caractère. 

 Pour convertir les noms d’attributs SUPER en minuscules, utilisez [Fonction LOWER\$1ATTRIBUTE\$1NAMES](r_lower_attribute_names.md). 

## Syntaxe
<a name="r_upper_attribute_names-synopsis"></a>

```
UPPER_ATTRIBUTE_NAMES( super_expression )
```

## Arguments
<a name="r_upper_attribute_names-arguments"></a>

*super\$1expression*  
Une expression SUPER.

## Type de retour
<a name="r_upper_attribute_names-return-type"></a>

`SUPER`

## Exemples
<a name="r_upper_attribute_names_examples"></a>

**Conversion des noms d’attributs SUPER en majuscules**  
L’exemple suivant utilise UPPER\$1ATTRIBUTE\$1NAMES 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\$1ATTRIBUTE\$1NAMES.
+  Les valeurs NULL et les valeurs scalaires SUPER telles que `"a"` restent inchangées. 
+  Dans un objet SUPER, tous les noms d’attributs sont remplacés par des majuscules, mais les valeurs d’attributs tels que `"b"` restent inchangés. 
+  UPPER\$1ATTRIBUTE\$1NAMES s’applique de manière récursive à tout objet SUPER imbriqué dans un tableau SUPER ou dans un autre objet. 

**Utilisation de UPPER\$1ATTRIBUTE\$1NAMES 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\$1ATTRIBUTE\$1NAMES 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.
```