TRANSLATEFunktion - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

TRANSLATEFunktion

Ersetzt für einen bestimmten Ausdruck alle Vorkommen von angegebenen Zeichen durch angegebene Ersatzzeichen. Vorhandene Zeichen werden aufgrund Ihrer Positionen in den Argumenten characters_to_replace und characters_to_substitute zu Ersatzzeichen zugeordnet. Wenn im Argument characters_to_replace mehr Zeichen als im Argument characters_to_substitute angegeben sind, werden die zusätzlichen Zeichen aus dem Argument characters_to_replace im Rückgabewert ausgelassen.

TRANSLATEähnelt dem REPLACEFunktion und dem, mit dem UnterschiedREGEXP_ Funktion REPLACE, dass eine ganze Zeichenfolge durch eine andere REPLACE ersetzt wird und REGEXP _ es Ihnen REPLACE ermöglicht, eine Zeichenfolge nach einem Muster für reguläre Ausdrücke zu durchsuchen, während gleichzeitig TRANSLATE mehrere einzelne Zeichen ersetzt werden.

Wenn ein Argument null ist, ist der Rückgabewert NULL.

Syntax

TRANSLATE( expression, characters_to_replace, characters_to_substitute )

Argumente

expression

Der Ausdruck, der übersetzt werden soll.

characters_to_replace

Eine Zeichenfolge, die die Zeichen enthält, die ersetzt werden sollen.

characters_to_substitute

Eine Zeichenfolge, die die Zeichen enthält, die ersetzt werden sollen.

Rückgabetyp

VARCHAR

Beispiele

Verwenden Sie das folgende Beispiel, um mehrere Zeichen in einer Zeichenfolge zu ersetzen.

SELECT TRANSLATE('mint tea', 'inea', 'osin'); +-----------+ | translate | +-----------+ | most tin | +-----------+

In den folgenden Beispielen werden Daten aus der USERS Tabelle in der TICKIT Beispieldatenbank verwendet. Weitere Informationen finden Sie unter Beispieldatenbank.

Verwenden Sie das folgende Beispiel, um für alle Werte in einer Spalte das Zeichen @ durch einen Punkt zu ersetzen.

SELECT email, TRANSLATE(email, '@', '.') as obfuscated_email FROM users LIMIT 10; +---------------------------------------+---------------------------------------+ | email | obfuscated_email | +---------------------------------------+---------------------------------------+ | Cum@accumsan.com | Cum.accumsan.com | | lorem.ipsum@Vestibulumante.com | lorem.ipsum.Vestibulumante.com | | non.justo.Proin@ametconsectetuer.edu | non.justo.Proin.ametconsectetuer.edu | | non.ante.bibendum@porttitortellus.org | non.ante.bibendum.porttitortellus.org | | eros@blanditatnisi.org | eros.blanditatnisi.org | | augue@Donec.ca | augue.Donec.ca | | cursus@pedeacurna.edu | cursus.pedeacurna.edu | | at@Duis.com | at.Duis.com | | quam@facilisisvitaeorci.ca | quam.facilisisvitaeorci.ca | | mi.lorem@nunc.edu | mi.lorem.nunc.edu | +---------------------------------------+---------------------------------------+

Verwenden Sie das folgende Beispiel, um für alle Werte in einer Spalte Leerzeichen durch Unterstriche zu ersetzen und Punkte zu entfernen.

SELECT city, TRANSLATE(city, ' .', '_') FROM users WHERE city LIKE 'Sain%' OR city LIKE 'St%' GROUP BY city ORDER BY city; +----------------+---------------+ | city | translate | +----------------+---------------+ | Saint Albans | Saint_Albans | | Saint Cloud | Saint_Cloud | | Saint Joseph | Saint_Joseph | | Saint Louis | Saint_Louis | | Saint Paul | Saint_Paul | | St. George | St_George | | St. Marys | St_Marys | | St. Petersburg | St_Petersburg | | Stafford | Stafford | | Stamford | Stamford | | Stanton | Stanton | | Starkville | Starkville | | Statesboro | Statesboro | | Staunton | Staunton | | Steubenville | Steubenville | | Stevens Point | Stevens_Point | | Stillwater | Stillwater | | Stockton | Stockton | | Sturgis | Sturgis | +----------------+---------------+