Problem:
Du vill ersätta en del av en sträng med en annan sträng.
Exempel:
Vår databas har en tabell som heter investor
med data i följande kolumner:id
, company
och phone
.
id | företag | telefon |
---|---|---|
1 | Stor marknad | 123–300–400 |
3 | The Sunny Restaurant | 123–222-456 |
4 | Min bank | 123-345-400 |
Vi vill ändra telefonnummerformatet för varje företag genom att ersätta bindestrecket med ett mellanslag.
Lösning:
SELECT REPLACE( phone, '-', ' ' ) as new_phone FROM investor;
Frågan returnerar en lista med telefonnummer med mellanslag istället för bindestreck som avgränsare:
ny_telefon |
---|
123 300 400 |
123 222 456 |
123 345 400 |
Diskussion:
Om du vill ersätta en delsträng med en annan sträng använder du bara REPLACE
fungera. Denna funktion tar tre argument:
- Strängen som ska ändras (som i vårt fall var en kolumn).
- Den delsträng som ska ersättas.
- Strängen som den angivna delsträngen ska ersättas med.
I nästa exempel ersätter vi adjektivet 'Big' i company
kolumn med 'Small'.
SELECT REPLACE( company, 'Big', 'Small' ) as new_company FROM investor WHERE id = 1;
Denna fråga visar det nya namnet på företaget för investeraren med id = 1
.
nytt_företag |
---|
Liten marknad |