TRANSLATE
Заменяет каждый символ из from на символ с той же позицией в to.
PostgreSQL 17.9
TRANSLATE(string, from, to)- string
- Исходная строкаtext
- from
- Символы, которые нужно заменитьtext
- to
- Символы для замены; символы from без пары удаляютсяtext
Возвращаемое значение
Строка (text) с заменёнными символами
Примеры
Замена символов по позициям
PostgreSQL 17.9
SELECT TRANSLATE('hello', 'el', 'ip') AS replaced;Только цифры номера телефона
PostgreSQL 17.9
SELECT TRANSLATE('+7 (912) 345-67-89', '()- ', '') AS digits;Гласные в верхнем регистре
PostgreSQL 17.9
SELECT member_name,
TRANSLATE(member_name, 'aeiou', 'AEIOU') AS vowels_up
FROM FamilyMembers;Подробности
В отличие от REPLACE, функция работает с отдельными символами, а не с подстрокой: TRANSLATE('hello', 'el', 'ip') заменяет e на i и l на p. Если to короче from, лишние символы from удаляются, поэтому с пустой to функция просто убирает символы.