Проблем:
Искате да замените част от низ с друг низ.
Пример:
Нашата база данни има таблица с име investor с данни в следните колони:id , company и phone .
| id | компания | телефон |
|---|---|---|
| 1 | Голям пазар | 123–300–400 |
| 3 | Слънчевият ресторант | 123–222-456 |
| 4 | Моята банка | 123-345-400 |
Бихме искали да променим формата на телефонния номер за всяка компания, като заменим знака за тире с интервал.
Решение:
SELECT REPLACE( phone, '-', ' ' ) as new_phone FROM investor;
Заявката връща списък с телефонни номера с интервали вместо тирета като разделители:
| нов_телефон |
|---|
| 123 300 400 |
| 123 222 456 |
| 123 345 400 |
Дискусия:
Ако искате да замените подниз с друг низ, просто използвайте REPLACE функция. Тази функция приема три аргумента:
- Низът за промяна (който в нашия случай беше колона).
- Поднизът за замяна.
- Низът, с който да замените посочения подниз.
В следващия пример заменяме прилагателното „Голяма“ в company колона с 'Small'.
SELECT REPLACE( company, 'Big', 'Small' ) as new_company FROM investor WHERE id = 1;
Тази заявка показва новото име на компанията за инвеститора с id = 1 .
| нова_компания |
|---|
| Малък пазар |