Problem:
Du vil gerne erstatte en del af en streng med en anden streng.
Eksempel:
Vores database har en tabel med navnet investor
med data i følgende kolonner:id
, company
og phone
.
id | virksomhed | telefon |
---|---|---|
1 | Stort marked | 123-300-400 |
3 | The Sunny Restaurant | 123-222-456 |
4 | Min bank | 123-345-400 |
Vi vil gerne ændre telefonnummerformatet for hver virksomhed ved at erstatte bindestregen med et mellemrum.
Løsning:
SELECT REPLACE( phone, '-', ' ' ) as new_phone FROM investor;
Forespørgslen returnerer en liste over telefonnumre med mellemrum i stedet for bindestreger som skilletegn:
ny_telefon |
---|
123 300 400 |
123 222 456 |
123 345 400 |
Diskussion:
Hvis du gerne vil erstatte en understreng med en anden streng, skal du blot bruge REPLACE
fungere. Denne funktion tager tre argumenter:
- Strengen der skal ændres (som i vores tilfælde var en kolonne).
- Den understreng, der skal erstattes.
- Den streng, som den angivne understreng skal erstattes med.
I det næste eksempel erstatter vi adjektivet 'Big' i company
kolonne med 'Small'.
SELECT REPLACE( company, 'Big', 'Small' ) as new_company FROM investor WHERE id = 1;
Denne forespørgsel viser det nye navn på virksomheden for investoren med id = 1
.
nyt_firma |
---|
Lille marked |