

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Funzione UPPER\$1ATTRIBUTE\$1NAMES
<a name="r_upper_attribute_names"></a>

Converte tutti i nomi degli attributi applicabili in un valore SUPER in maiuscolo, utilizzando la stessa routine di conversione in maiuscolo e minuscolo di [Funzione UPPER](r_UPPER.md). UPPER\$1ATTRIBUTE\$1NAMES supporta i caratteri multibyte UTF-8, fino a un massimo di quattro byte per carattere. 

 Per convertire i nomi degli attributi SUPER in minuscolo, utilizza [Funzione LOWER\$1ATTRIBUTE\$1NAMES](r_lower_attribute_names.md). 

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

```
UPPER_ATTRIBUTE_NAMES( super_expression )
```

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

*super\$1expression*  
Un’espressione SUPER.

## Tipo restituito
<a name="r_upper_attribute_names-return-type"></a>

`SUPER`

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

**Conversione dei nomi degli attributi SUPER in maiuscolo**  
L’esempio seguente utilizza UPPER\$1ATTRIBUTE\$1NAMES per convertire i nomi degli attributi di tutti i valori SUPER in una tabella.

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

Osserva come funziona UPPER\$1ATTRIBUTE\$1NAMES.
+  I valori NULL e i valori SUPER scalari, come `"a"`, sono invariati. 
+  In un oggetto SUPER, tutti i nomi degli attributi vengono convertiti in maiuscolo, ma i valori degli attributi, ad esempio `"b"`, rimangono invariati. 
+  UPPER\$1ATTRIBUTE\$1NAMES si applica in modo ricorsivo a qualsiasi oggetto SUPER annidato all’interno di un array SUPER o all’interno di un altro oggetto. 

**Utilizzo di UPPER\$1ATTRIBUTE\$1NAMES per un oggetto SUPER con nomi di attributi duplicati**  
Se un oggetto SUPER contiene attributi i cui nomi differiscono solo nel maiuscolo o nel minuscolo, UPPER\$1ATTRIBUTE\$1NAMES restituisce un errore. Analizza l’esempio seguente.

```
SELECT UPPER_ATTRIBUTE_NAMES(JSON_PARSE('{"A": "A", "a": "a"}'));      

error:   Invalid input
code:    8001
context: SUPER value has duplicate attributes after case conversion.
```