

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

Converte tutti i nomi degli attributi applicabili in un valore SUPER in minuscolo, utilizzando la stessa routine di conversione in maiuscolo e minuscolo di [Funzione LOWER](r_LOWER.md). LOWER\$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 maiuscolo, utilizza [Funzione UPPER\$1ATTRIBUTE\$1NAMES](r_upper_attribute_names.md). 

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

```
LOWER_ATTRIBUTE_NAMES( super_expression )
```

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

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

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

`SUPER`

## Note per l’utilizzo
<a name="r_lower_attribute_names-usage-notes"></a>

In Amazon Redshift, gli identificatori di colonna tradizionalmente non fanno distinzione tra maiuscole e minuscole e vengono convertiti in lettere minuscole. Se importi dati in formati che fanno distinzione tra maiuscole e minuscole come JSON, questi potrebbero contenere nomi di attributi in maiuscolo e minuscolo.

Analizza l’esempio seguente.

```
CREATE TABLE t1 (s) AS SELECT JSON_PARSE('{"AttributeName": "Value"}');


SELECT s.AttributeName FROM t1;  

attributename
-------------
NULL


SELECT s."AttributeName" FROM t1;

attributename
-------------
NULL
```

Amazon Redshift restituisce NULL per entrambe le query. Per eseguire query su `AttributeName`, utilizza LOWER\$1ATTRIBUTE\$1NAMES per convertire i nomi degli attributi dei dati in minuscolo. Analizza l’esempio seguente.

```
CREATE TABLE t2 (s) AS SELECT LOWER_ATTRIBUTE_NAMES(s) FROM t1;


SELECT s.attributename FROM t2;

attributename
-------------
"Value"


SELECT s.AttributeName FROM t2; 

attributename
-------------
"Value"


SELECT s."attributename" FROM t2;

attributename
-------------
"Value"


SELECT s."AttributeName" FROM t2;

attributename
-------------
"Value"
```

Un’opzione correlata per l’utilizzo di nomi di attributi di oggetti con maiuscole e minuscole è l’opzione di configurazione `enable_case_sensitive_super_attribute`, che consente ad Amazon Redshift di riconoscere il maiuscolo e il minuscolo nei nomi degli attributi SUPER. Questa può essere una soluzione alternativa all’utilizzo di LOWER\$1ATTRIBUTE\$1NAMES. Per ulteriori informazioni su `enable_case_sensitive_super_attribute`, consulta [enable\$1case\$1sensitive\$1super\$1attribute](r_enable_case_sensitive_super_attribute.md).

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

**Conversione dei nomi degli attributi SUPER in minuscolo**  
L’esempio seguente utilizza LOWER\$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 lowercase.
UPDATE t SET s = LOWER_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 LOWER\$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 minuscolo, ma i valori degli attributi, ad esempio `"B"`, rimangono invariati. 
+  LOWER\$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 LOWER\$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, LOWER\$1ATTRIBUTE\$1NAMES restituisce un errore. Analizza l’esempio seguente.

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

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