TRANSLATE (Azure Stream Analytics)
Zwraca ciąg podany jako pierwszy argument po tym, jak niektóre znaki określone w drugim argumencie są tłumaczone na docelowy zestaw znaków określony w trzecim argumencie.
Zachowanie TRANSLATE
funkcji jest podobne do używania wielu REPLACE
funkcji.
Składnia
TRANSLATE ( expression, replaced_characters, translations)
Uwaga
Indeks/pozycja funkcji TRANSLATE jest oparta na 1.
Argumenty
expression
Jest wyrażeniem znaku lub kolumną typu nvarchar(max).
replaced_characters
Jest wyrażeniem znaku lub kolumną typu nvarchar(max). Zawiera listę znaków do zastąpienia.
translations
Jest wyrażeniem znaku lub kolumną typu nvarchar(max) o tej samej długości co replaced_characters. Zawiera on znaki zastępcze.
Typy zwracane
Nvarchar(max)
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 w inputString więcej niż raz. Pojedyncza wartość w parametrze znaków może zastąpić wiele znaków w wyrażeniu. Różni się to od zachowania wielu REPLACE
funkcji, ponieważ każde wywołanie funkcji zastąpiłoby wszystkie istotne znaki, nawet jeśli zostały zastąpione przez poprzednie zagnieżdżone REPLACE
wywołanie funkcji.
Przykłady
Zamień nawiasy kwadratowe i nawiasy klamrowe na zwykłe nawiasy klamrowe
SELECT
x,
TRANSLATE(x, '[]{}', '()()') AS translatedX
FROM Input
x | translatedX |
---|---|
2*[3+4]/{7-2} | 2*(3+4)/(7-2) |
Konwertowanie punktów GeoJSON na WKT
SELECT
xPoint,
TRANSLATE(xPoint, '[,]', '( )') xPoint2Coordinates,
xCoordinates,
TRANSLATE(xPoint, '[,]', '( )') xCoordinates2Point
FROM Input
xPoint | xPoint2Coordinates | xCoordinates | xCoordinates2Point |
---|---|---|---|
(137.4 72.3) | [137.4,72.3] | [137.4,72.3] | (137.4 72.3) |