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) |