Problém:
Rádi byste nahradili část řetězce jiným řetězcem.
Příklad:
Naše databáze obsahuje tabulku s názvem investor
s údaji v následujících sloupcích:id
, company
a phone
.
id | společnost | telefon |
---|---|---|
1 | Velký trh | 123–300-400 |
3 | Restaurace Sunny | 123–222-456 |
4 | Moje banka | 123-345-400 |
Rádi bychom změnili formát telefonního čísla pro každou společnost nahrazením znaku pomlčky mezerou.
Řešení:
SELECT REPLACE( phone, '-', ' ' ) as new_phone FROM investor;
Dotaz vrátí seznam telefonních čísel s mezerami místo pomlček jako oddělovačů:
new_phone |
---|
123 300 400 |
123 222 456 |
123 345 400 |
Diskuse:
Pokud chcete nahradit podřetězec jiným řetězcem, jednoduše použijte REPLACE
funkce. Tato funkce má tři argumenty:
- Řetězec, který se má změnit (což v našem případě byl sloupec).
- Podřetězec, který se má nahradit.
- Řetězec, kterým se má nahradit zadaný podřetězec.
V dalším příkladu nahradíme přídavné jméno 'Big' v company
sloupec s 'Malý'.
SELECT REPLACE( company, 'Big', 'Small' ) as new_company FROM investor WHERE id = 1;
Tento dotaz zobrazí nový název společnosti pro investora s id = 1
.
new_company |
---|
Malý trh |