Die SQL TRANSLATE( ) Funktion tauscht Zeichen innerhalb eines Feldes mit selbst festgelegten Zeichen aus.
TRANSLATE(Input, WirdAusgetauscht, WirdEingesetzt)
SQL TRANSLATE ersetzt das erste Zeichen aus WirdAusgetauscht mit dem ersten Zeichen aus WirdEingesetzt, das zweite Zeichen mit dem zweiten usw. Dasselbe Prinzip gilt für alle darauffolgenden Zeichen. Das heißt, es wird keine Zeichenabfolgen mit einer anderen Zeichenabfolge ersetzt, sondern jedes Zeichen einzeln.
SQL TRANSLATE - Beispiel
Wir haben Telefonnummern in eckigen Klammern in unserer Datenbank gespeichert. Zum automatischen Anrufen brauchen wir runde Klammern, da unser Online-Telefonanbieter keine eckigen Klammern lesen kann:
TRANSLATE('[030] 123 4567','[]','()');
--Ausgabe: '(030) 123 4567'
Setzt man anstelle der Telefonnummer die Spalte Tel-Nr ein, wird für alle Werte in dieser Spalte jede eckige Klammer mit runden Klammern ersetzt:
SELECT TRANSLATE(Tel-Nr,'[]','()');