Sammanfattning: I den här handledningen lär du dig hur du använder SQL Server TRANSLATE()-funktionen för att ersätta flera enskilda tecken, en till en översättning i en operation.
SQL Server TRANSLATE() funktionsöversikt
Funktionen TRANSLATE() returnerar en sträng där tecken som anges i det andra argumentet ersätts med matchande tecken från det tredje argumentet.
Nedan illustreras syntaxen för TRANSLATE()-funktionen:
Code language: SQL (Structured Query Language) (sql)
I den här syntaxen:
-
input_stringär en sträng som ska sökas. Det kan vara en bokstavlig sträng, ett teckenuttryck eller en kolumn. -
from_charactersär ett stränguttryck som innehåller de tecken som ska ersättas. -
to_charactersär ett stränguttryck som innehåller ersättningstecknen.
Om längderna på from_characters och to_characters skiljer sig åt returnerar TRANSLATE()-funktionen ett fel.
Om något av argumenten är NULL returnerar TRANSLATE()-funktionen NULL.
SQL Server TRANSLATE() funktionsexempel
I följande exempel används TRANSLATE()-funktionen för att ersätta hakparenteser med parenteser:
Code language: SQL (Structured Query Language) (sql)
Här är resultatet:
Utdraget är likvärdigt med att anropa REPLACE()-funktionen två gånger:
Code language: SQL (Structured Query Language) (sql)
TRANSLATE() vs. REPLACE()
Funktionen TRANSLATE()s beteende liknar anropandet av flera REPLACE()-funktioner.
Funktionen TRANSLATE() ersätter dock inte alla förekomster av ett tecken med ett nytt. Detta är skillnaden mellan TRANSLATE()-funktionen och att anropa flera REPLACE()-funktioner, varje REPLACE()-funktionsanrop skulle ersätta alla relevanta tecken.
I den här handledningen har du lärt dig hur du använder SQL Server TRANSLATE()-funktionen för att ersätta flera en-till-ett-översättningar med ett enda tecken i en operation.