Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog
Funzione UPPER_ATTRIBUTE_NAMES
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. UPPER_ATTRIBUTE_NAMES 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_ATTRIBUTE_NAMES.
Sintassi
UPPER_ATTRIBUTE_NAMES(super_expression)
Argomenti
- super_expression
-
Un’espressione SUPER.
Tipo restituito
SUPER
Esempi
Conversione dei nomi degli attributi SUPER in maiuscolo
L’esempio seguente utilizza UPPER_ATTRIBUTE_NAMES 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_ATTRIBUTE_NAMES.
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_ATTRIBUTE_NAMES 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_ATTRIBUTE_NAMES 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_ATTRIBUTE_NAMES 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.