SQL Academy
Premium
Funktionsreferenz

TRANSLATE

Ersetzt jedes Zeichen aus from durch das Zeichen an derselben Position in to.

PostgreSQL 17.5
TRANSLATE(string, from, to)

Parameter

stringtext
Ausgangsstring
fromtext
Zu ersetzende Zeichen
totext
Ersatzzeichen; Zeichen aus from ohne Gegenstück werden entfernt

Rückgabewert

String (text) mit ersetzten Zeichen

Beispiele

Zeichen nach Position ersetzen

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

Nur die Ziffern einer Telefonnummer

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

Vokale in Großbuchstaben

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

Details

Anders als REPLACE arbeitet die Funktion mit einzelnen Zeichen, nicht mit einem Teilstring: TRANSLATE('hello', 'el', 'ip') ersetzt e durch i und l durch p. Ist to kürzer als from, werden die überzähligen Zeichen aus from entfernt, mit einem leeren to löscht die Funktion also einfach Zeichen.

Siehe auch