Проблем:
Искате да замените част от низ с друг низ.
Пример:
Нашата база данни има таблица с име 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
.
нова_компания |
---|
Малък пазар |