Probleem:
Je wilt een deel van een tekenreeks vervangen door een andere tekenreeks.
Voorbeeld:
Onze database heeft een tabel met de naam investor met gegevens in de volgende kolommen:id , company , en phone .
| id | bedrijf | telefoon |
|---|---|---|
| 1 | Grote Markt | 123–300-400 |
| 3 | Het zonnige restaurant | 123–222-456 |
| 4 | Mijn bank | 123-345-400 |
We willen de indeling van het telefoonnummer voor elk bedrijf wijzigen door het koppelteken te vervangen door een spatie.
Oplossing:
SELECT REPLACE( phone, '-', ' ' ) as new_phone FROM investor;
De query retourneert een lijst met telefoonnummers met spaties in plaats van koppeltekens als scheidingstekens:
| new_phone |
|---|
| 123 300 400 |
| 123 222 456 |
| 123 345 400 |
Discussie:
Als je een subtekenreeks wilt vervangen door een andere tekenreeks, gebruik je gewoon de REPLACE functie. Deze functie heeft drie argumenten:
- De tekenreeks die moet worden gewijzigd (wat in ons geval een kolom was).
- De te vervangen subtekenreeks.
- De tekenreeks waarmee de opgegeven subtekenreeks moet worden vervangen.
In het volgende voorbeeld vervangen we het adjectief 'Big' in de company kolom met 'Klein'.
SELECT REPLACE( company, 'Big', 'Small' ) as new_company FROM investor WHERE id = 1;
Deze zoekopdracht toont de nieuwe naam van het bedrijf voor de belegger met id = 1 .
| new_company |
|---|
| Kleine markt |