Рядки

TRANSLATE

Замінює окремі символи на інші — кожен на свій, за один прохід.

Синтаксис

TRANSLATE(<текст>, <які символи>, <на які>)

Бере символи з другого аргументу й замінює кожен на символ, що стоїть на тій самій позиції в третьому: перший на перший, другий на другий. Символи, яким пари не вистачило, просто видаляються. Зручно, щоб прибрати зайві знаки чи замінити кілька символів за раз.

Дані для прикладів

employees

namedepartmentsalarybonusphone
Emmabackend1200300+44 7700 900123
Liambackend1000NULLNULL
Oliviafrontend1350150+44 7700 900456
Noahfrontend950NULL+44 7700 900789
Sophiadesign1200200NULL

Ці таблиці вже створено в пісочниці — приклади нижче працюють із ними. Хочеш повторити у своїй базі — скопіюй SQL.

Символ — на символ
SELECT TRANSLATE('2026/09/13', '/', '-') AS dashed;
dashed
2026-09-13
Прибрати дужки й пробіли
SELECT TRANSLATE('+44 (0) 7700', '() ', '') AS cleaned;
cleaned
+4407700

У третьому аргументі пар нема зовсім, тож дужки й пробіли просто зникають.

Телефони без плюса й пробілів
SELECT name, phone,
TRANSLATE(phone, '+ ', '') AS digits
FROM employees;
namephonedigits
Emma+44 7700 900123447700900123
LiamNULLNULL
Olivia+44 7700 900456447700900456
Noah+44 7700 900789447700900789
SophiaNULLNULL

Зверни увагу

Замінює символи, а не слова: TRANSLATE('cat', 'cat', 'dog') дає dog, але й TRANSLATE('act', 'cat', 'dog') дасть odg — кожна літера окремо.

Символи без пари в третьому аргументі видаляються: TRANSLATE('a-b-c', '-', '') прибирає всі дефіси.

Для заміни цілих слів — REPLACE, для шаблонів — REGEXP_REPLACE.

Схожі функції