TRANSLATE (Azure 流分析)

在第二个参数中指定的某些字符转换为第三个参数中指定的字符目标集后,返回作为第一个参数提供的字符串。

函数的行为 TRANSLATE 类似于使用多个 REPLACE 函数。

语法

TRANSLATE ( expression, replaced_characters, translations)

注意

TRANSLATE 函数的索引/位置基于 1。

参数

expression

是字符表达式或 nvarchar(max) 类型的列。

replaced_characters

是字符表达式或 nvarchar(max) 类型的列。 它包含要替换的字符列表。

转换

nvarchar 类型的字符表达式或列 (最大) 长度与 replaced_characters 相同。 它包含替换字符。

返回类型

nvarchar(max)

注解

TRANSLATE 如果字符和翻译表达式的长度不同,将返回错误。 如果任何参数为 NULL,TRANSLATE 将返回 NULL。

TRANSLATE 函数行为类似于使用多个 REPLACE 函数。 TRANSLATE 但是,不会多次替换 inputString 中的任何单个字符。 characters 参数中的单个值可以替换表达式中的多个字符。 这不同于多个 REPLACE 函数的行为,因为每个函数调用都将替换所有相关字符,即使以前的嵌套 REPLACE 函数调用已替换它们。

示例

将方括号和大括号替换为圆括号

SELECT
    x,
    TRANSLATE(x, '[]{}', '()()') AS translatedX
FROM Input
x translatedX
2*[3+4]/{7-2} 2* (3+4) / (7-2)

将 GeoJSON 点转换为 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)

另请参阅