In questo tutorial, impareremo la funzione Translate () nel database Oracle per sostituire una sequenza di caratteri con un altro.
Oracle Translate Function
In Oracle, la funzione Translate consente di sostituire un determinato set di caratteri con un altro, un personaggio alla volta.
Prendi il seguente snippet che esprime la sintassi della funzione:
Tradurre (stringa, da_string, sostituzione_string);
Dalla sintassi fornita, la funzione accetta tre argomenti principali:
Una volta che la funzione Translate esegue la sostituzione specificata, restituisce la stringa con le occorrenze corrispondenti sostituite. Tuttavia, se i parametri della funzione sono nulli, la funzione produce automaticamente un tipo nullo.
Esempio di utilizzo della funzione
I seguenti sono esempi che dimostrano l'uso della funzione Translate ().
Esempio 1: utilizzo della funzione di base
Il seguente codice mostra come utilizzare la funzione Translate per sostituire tutti i caratteri "A" con un carattere di asterisco:
Seleziona Translate ('Oracle Database', 'A', '*') come tradotto
dal doppio;
La stringa risultante è la seguente:
Tradotto
---------------------
O*cle d*t*b*ses
Esempio 2: sostituzione di più caratteri
Possiamo anche sostituire i più caratteri usando la funzione Translate come mostrato nell'esempio seguente:
Seleziona Translate ('Oracle Database', 'AB', 'XY') come tradotto
dal doppio;
Produzione:
Tradotto
------------------
ORXCLE DXTXYXSES
Esempio 3: impostazione di sostituzione_string come vuoto
Considera questo esempio che dimostra come si comporta la funzione se impostiamo il parametro sostitutivo_string su un valore vuoto.
Seleziona Translate ('Oracle Database', 'AB', ") come tradotto
dal doppio;
In questo caso, la funzione restituisce una stringa vuota. Questo perché una stringa vuota viene trattata come un valore nullo. Ricorda che la funzione restituisce sempre nulla se uno qualsiasi dei parametri è null.
Esempio 4: sequenza senza pari
Cosa succede se i caratteri specificati da_string non si trovano nella sorgente_string?
La seguente illustrazione dimostra questo:
Seleziona Translate ('Oracle Database', 'xx', '*) come tradotto
dal doppio;
Produzione:
Tradotto
-----------------
Database Oracle
Come puoi immaginare, la funzione non esegue alcuna azione sulla stringa di origine.
Conclusione
Questo tutorial ti ha insegnato come utilizzare la funzione Translate () nel database Oracle per eseguire una sostituzione del personaggio individuale. Si noti che sebbene la funzione Translate si comporti in modo simile alla funzione Sostituisci, sono diverse nella modalità di sostituzione. La funzione di sostituzione esegue un'intera sostituzione della stringa rispetto alla sostituzione di un carattere alla volta nella funzione Translate.