Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2017 (14.x) en latere versies
Van Azure SQL Database
Azure SQL Managed Instance
Retourneert de tekenreeks die is opgegeven als eerste argument, nadat sommige tekens die zijn opgegeven in het tweede argument, zijn vertaald in een doelset tekens, die is opgegeven in het derde argument.
Syntaxis
TRANSLATE ( inputString, characters, translations )
Arguments
inputString
De tekenreeksexpressie die moet worden doorzocht. inputString kan elk gegevenstype voor tekens zijn (nvarchar, varchar, nchar, char).
karakters
Een tekenreeksexpressie met tekens die moeten worden vervangen. tekens kunnen elk gegevenstype voor tekens zijn.
Translations
Een tekenreeksexpressie met de vervangende tekens. vertalingen moeten hetzelfde gegevenstype en dezelfde lengte hebben als tekens.
Retourtypen
Retourneert een tekenexpressie van hetzelfde gegevenstype als inputString waarbij tekens uit het tweede argument worden vervangen door de overeenkomende tekens uit het derde argument.
Opmerkingen
TRANSLATE retourneert een fout als tekens en vertalingenexpressies verschillende lengten hebben.
TRANSLATE retourneert NULL als een van de argumenten NULL is.
Het gedrag van de TRANSLATE functie is vergelijkbaar met het gebruik van meerdere REPLACE-functies .
TRANSLATE vervangt echter niet elk afzonderlijk teken in inputString meer dan één keer. Eén waarde in de characters parameter kan meerdere tekens vervangen in inputString.
Dit is niet hetzelfde als het gedrag van meerdere REPLACE functies, omdat elke functieaanroep alle relevante tekens zou vervangen, zelfs als ze waren vervangen door een vorige geneste REPLACE functieaanroep.
TRANSLATE is altijd SC-sorteringsbewust. Zie sortering en Unicode-ondersteuning voor meer informatie over aanvullende sorteringen.
Voorbeelden
Eén. Vierkante accolades en accolades vervangen door gewone accolades
De volgende query vervangt vierkante accolades in de invoertekenreeks door haakjes:
SELECT TRANSLATE('2*[3+4]/{7-2}', '[]{}', '()()');
Hier is het resultatenoverzicht.
2*(3+4)/(7-2)
Gelijkwaardige aanroepen naar REPLACE
In de volgende SELECT-instructie ziet u een groep van vier geneste aanroepen naar de functie REPLACE. Deze groep is gelijk aan de aanroep van de functie TRANSLATE in de voorgaande SELECT:
SELECT
REPLACE
(
REPLACE
(
REPLACE
(
REPLACE
(
'2*[3+4]/{7-2}',
'[',
'('
),
']',
')'
),
'{',
'('
),
'}',
')'
);
B. GeoJSON-punten converteren naar WKT
GeoJSON is een indeling voor het coderen van verschillende geografische gegevensstructuren. Met de TRANSLATE functie kunnen ontwikkelaars eenvoudig GeoJSON-punten converteren naar WKT-indeling en omgekeerd. De volgende query vervangt vierkante accolades in invoer door gewone accolades:
SELECT TRANSLATE('[137.4,72.3]' , '[,]', '( )') AS Point,
TRANSLATE('(137.4 72.3)' , '( )', '[,]') AS Coordinates;
Hier is het resultatenoverzicht.
| Point | Coördinaten |
|---|---|
| (137.4 72.3) | [137.4,72.3] |
C. De functie TRANSLATE gebruiken
SELECT TRANSLATE('abcdef','abc','bcd') AS Translated,
REPLACE(REPLACE(REPLACE('abcdef','a','b'),'b','c'),'c','d') AS Replaced;
Hier is het resultatenoverzicht.
| Vertaling | Vervangen |
|---|---|
| bcddef | ddddef |