SQL Server TRANSLATE Functie

Samenvatting: in deze tutorial leert u hoe u de SQL Server TRANSLATE() functie kunt gebruiken om meerdere enkelvoudige karakters te vervangen, één-op-één vertaling in één bewerking.

SQL Server TRANSLATE() functie overzicht

De TRANSLATE() functie retourneert een string waarbij karakter gespecificeerd in het tweede argument worden vervangen door de overeenkomende karakters uit het derde argument.

Het volgende illustreert de syntaxis van de TRANSLATE() functie:

Code language: SQL (Structured Query Language) (sql)

In deze syntaxis:

  • input_string is een string die moet worden doorzocht. Het kan een letterlijke tekenreeks, tekenuitdrukking of kolom zijn.
  • from_characters is een tekenreeksuitdrukking die de tekens bevat die moeten worden vervangen.
  • to_characters is een tekenreeksuitdrukking die de vervangende tekens bevat.

Als de lengtes van from_characters en to_characters verschillend zijn, zal de functie TRANSLATE() een fout teruggeven.

Als een van de argumenten NULL is, zal de functie TRANSLATE() NULL teruggeven.

SQL Server TRANSLATE() functievoorbeelden

Het volgende voorbeeld gebruikt de TRANSLATE() functie om vierkante accolades te vervangen door haakjes:

Code language: SQL (Structured Query Language) (sql)

Hierna volgt de uitvoer:

De verklaring is equivalent aan het tweemaal aanroepen van de REPLACE() functie:

Code language: SQL (Structured Query Language) (sql)

TRANSLATE() vs. REPLACE()

Het gedrag van de TRANSLATE() functie is vergelijkbaar met het aanroepen van meerdere REPLACE() functies.

De TRANSLATE() functie vervangt echter niet alle occurrences van een karakter door een nieuw karakter. Dit is het verschil tussen de TRANSLATE()-functie en het aanroepen van meerdere REPLACE()-functies, waarbij elke REPLACE()-functieaanroep alle relevante tekens zou vervangen.

In deze zelfstudie hebt u geleerd hoe u de SQL Server TRANSLATE()-functie kunt gebruiken om meerdere enkelvoudige tekens, één-op-één te vervangen door een nieuwe vertaling in één bewerking.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.