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 |