Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server 2017 (14.x) i nowsze wersje
usługi Azure SQL Database
Azure SQL Managed Instance
Zwraca ciąg podany jako pierwszy argument, po przetłumaczeniu niektórych znaków określonych w drugim argumencie na docelowy zestaw znaków określony w trzecim argumencie.
Składnia
TRANSLATE ( inputString, characters, translations )
Arguments
inputString
Wyrażenie ciągu do wyszukania. inputString może być dowolnym typem danych znaków (nvarchar, varchar, nchar, char).
Znaków
Wyrażenie ciągu zawierające znaki, które należy zamienić. znaki mogą być dowolnym typem danych znaków.
Tłumaczenia
Wyrażenie ciągu zawierające znaki zastępcze. tłumaczenia muszą mieć ten sam typ danych i długość co znaki.
Typy zwracane
Zwraca wyrażenie znaków tego samego typu danych co inputString , gdzie znaki z drugiego argumentu są zastępowane znakami pasującymi z trzeciego argumentu.
Uwagi
TRANSLATE Funkcja zwróci błąd, jeśli znaki i wyrażenia tłumaczenia mają różne długości.
TRANSLATE funkcja zwróci wartość NULL, jeśli którykolwiek z argumentów ma wartość NULL.
Zachowanie funkcji jest podobne do używania TRANSLATE wielu funkcji REPLACE .
TRANSLATE Nie zastępuje jednak żadnego pojedynczego znaku więcej inputString niż raz. Pojedyncza wartość w parametrze może zastąpić wiele znaków w elemencie charactersinputString.
Różni się to od zachowania wielu REPLACE funkcji, ponieważ każde wywołanie funkcji zastąpiłoby wszystkie odpowiednie znaki, nawet jeśli zostały zastąpione przez poprzednie zagnieżdżone REPLACE wywołanie funkcji.
TRANSLATE jest zawsze świadomy sortowania sc. Aby uzyskać więcej informacji na temat dodatkowych sortowania, zobacz Obsługa sortowania i unicode.
Przykłady
A. Zastępowanie nawiasów klamrowych i nawiasów klamrowych zwykłymi nawiasami klamrowymi
Następujące zapytanie zastępuje nawiasy kwadratowe i nawiasy klamrowe w ciągu wejściowym nawiasami:
SELECT TRANSLATE('2*[3+4]/{7-2}', '[]{}', '()()');
Oto zestaw wyników.
2*(3+4)/(7-2)
Równoważne wywołania funkcji REPLACE
W poniższej instrukcji SELECT zostanie wyświetlona grupa czterech zagnieżdżonych wywołań funkcji REPLACE. Ta grupa jest równoważna jednemu wywołaniu funkcji TRANSLATE w poprzednim elemencie SELECT:
SELECT
REPLACE
(
REPLACE
(
REPLACE
(
REPLACE
(
'2*[3+4]/{7-2}',
'[',
'('
),
']',
')'
),
'{',
'('
),
'}',
')'
);
B. Konwertowanie punktów GeoJSON na WKT
GeoJSON to format kodowania kilku struktur danych geograficznych.
TRANSLATE Dzięki funkcji deweloperzy mogą łatwo konwertować punkty GeoJSON na format WKT i na odwrót. Następujące zapytanie zastępuje nawiasy kwadratowe i nawiasy klamrowe w danych wejściowych zwykłymi nawiasami klamrowymi:
SELECT TRANSLATE('[137.4,72.3]' , '[,]', '( )') AS Point,
TRANSLATE('(137.4 72.3)' , '( )', '[,]') AS Coordinates;
Oto zestaw wyników.
| Point | Współrzędne |
|---|---|
| (137.4 72.3) | [137.4,72.3] |
C. Korzystanie z funkcji TRANSLATE
SELECT TRANSLATE('abcdef','abc','bcd') AS Translated,
REPLACE(REPLACE(REPLACE('abcdef','a','b'),'b','c'),'c','d') AS Replaced;
Oto zestaw wyników.
| Przetłumaczony | Zastąpione |
|---|---|
| bcddef | ddddef |