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 |