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 TRANSLATE
Per una data espressione, sostituisce tutte le occorrenze di caratteri specificati con sostituti specificati. I caratteri esistenti sono mappati per i caratteri sostitutivi in base alla loro posizione negli argomenti characters_to_replace e characters_to_substitute. Se vengono specificati più caratteri nell'argomento characters_to_replace rispetto all'argomento characters_to_substitute, i caratteri extra dall'argomento characters_to_replace vengono omessi nel valore di restituzione.
TRANSLATE è simile a Funzione REPLACE e a Funzione REGEXP_REPLACE, ad eccezione del fatto che REPLACE sostituisce un'intera stringa con un'altra stringa e REGEXP_REPLACE consente di cercare una stringa per un modello di espressione regolare, mentre TRANSLATE realizza più sostituzioni a carattere singolo.
Se qualsiasi argomento è null, il risultato è NULL.
Sintassi
TRANSLATE( expression, characters_to_replace, characters_to_substitute )
Arguments (Argomenti)
- espressione
-
L'espressione da tradurre.
- characters_to_replace
-
Una stringa contenente i caratteri da sostituire.
- characters_to_substitute
-
Una stringa contenente i caratteri da sostituire.
Tipo restituito
VARCHAR
Esempi
Per sostituire vari caratteri in una stringa, utilizza l'esempio seguente.
SELECT TRANSLATE('mint tea', 'inea', 'osin');+-----------+ | translate | +-----------+ | most tin | +-----------+
Negli esempi seguenti vengono utilizzati i dati della tabella USERS database di esempio TICKIT. Per ulteriori informazioni, consulta Database di esempio.
Per sostituire il simbolo at (@) con un punto per tutti i valori in una colonna, utilizza l'esempio seguente.
SELECT email, TRANSLATE(email, '@', '.') as obfuscated_email FROM users LIMIT 10;+---------------------------------------+---------------------------------------+ | email | obfuscated_email | +---------------------------------------+---------------------------------------+ | Cum@accumsan.com | Cum.accumsan.com | | lorem.ipsum@Vestibulumante.com | lorem.ipsum.Vestibulumante.com | | non.justo.Proin@ametconsectetuer.edu | non.justo.Proin.ametconsectetuer.edu | | non.ante.bibendum@porttitortellus.org | non.ante.bibendum.porttitortellus.org | | eros@blanditatnisi.org | eros.blanditatnisi.org | | augue@Donec.ca | augue.Donec.ca | | cursus@pedeacurna.edu | cursus.pedeacurna.edu | | at@Duis.com | at.Duis.com | | quam@facilisisvitaeorci.ca | quam.facilisisvitaeorci.ca | | mi.lorem@nunc.edu | mi.lorem.nunc.edu | +---------------------------------------+---------------------------------------+
Per sostituire gli spazi con caratteri di sottolineatura ed eliminare i punti per tutti i valori in una colonna, utilizza l'esempio seguente.
SELECT city, TRANSLATE(city, ' .', '_') FROM users WHERE city LIKE 'Sain%' OR city LIKE 'St%' GROUP BY city ORDER BY city;+----------------+---------------+ | city | translate | +----------------+---------------+ | Saint Albans | Saint_Albans | | Saint Cloud | Saint_Cloud | | Saint Joseph | Saint_Joseph | | Saint Louis | Saint_Louis | | Saint Paul | Saint_Paul | | St. George | St_George | | St. Marys | St_Marys | | St. Petersburg | St_Petersburg | | Stafford | Stafford | | Stamford | Stamford | | Stanton | Stanton | | Starkville | Starkville | | Statesboro | Statesboro | | Staunton | Staunton | | Steubenville | Steubenville | | Stevens Point | Stevens_Point | | Stillwater | Stillwater | | Stockton | Stockton | | Sturgis | Sturgis | +----------------+---------------+