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 |