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
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_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)
Arguments (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.