Справочник по функциям

TRANSLATE

Заменяет каждый символ из from на символ с той же позицией в to.

PostgreSQL 17.5
TRANSLATE(string, from, to)

Параметры

stringtext
Исходная строка
fromtext
Символы, которые нужно заменить
totext
Символы для замены; символы from без пары удаляются

Возвращаемое значение

Строка (text) с заменёнными символами

Примеры

Замена символов по позициям

PostgreSQL 17.5
SELECT TRANSLATE('hello', 'el', 'ip') AS replaced;
replaced
hippo

Только цифры номера телефона

PostgreSQL 17.5
SELECT TRANSLATE('+7 (912) 345-67-89', '()- ', '') AS digits;
digits
+79123456789

Гласные в верхнем регистре

PostgreSQL 17.5
SELECT member_name,
	TRANSLATE(member_name, 'aeiou', 'AEIOU') AS vowels_up
FROM FamilyMembers;
member_namevowels_up
Headley QuinceyHEAdlEy QUIncEy
Flavia QuinceyFlAvIA QUIncEy
Andie QuinceyAndIE QUIncEy
Lela QuinceyLElA QUIncEy
Annie QuinceyAnnIE QUIncEy
Ernest ForrestErnEst FOrrEst
Constance ForrestCOnstAncE FOrrEst
Wednesday AddamsWEdnEsdAy AddAms

Подробности

В отличие от REPLACE, функция работает с отдельными символами, а не с подстрокой: TRANSLATE('hello', 'el', 'ip') заменяет e на i и l на p. Если to короче from, лишние символы from удаляются, поэтому с пустой to функция просто убирает символы.

Смотрите также