返回字符串 char 中将 from_string 中的每个字符替换为 to_string 中的相应字 符以后的字符串。 to_string 不能省略。 如果 from_string 比 to_string 长,那么在 from_string 中而不在 to_string 中的 额外字符将从 char 中删除,因为它们没有相应的替换字符。 如果 TRANSLATE 中的任何参数为 NULL,则结果也是 NULL。 示例 1:from_string 长度长于 to_string,在 from_string 中而不在 to_string 中的额外字符将从 char 中删除。 gbase> SELECT TRANSLATE('123abc','2dc','4e') FROM t; +--------------------------------+| TRANSLATE('123abc','2dc','4e') | +--------------------------------+ | 143ab | +--------------------------------+ 1 row in set 因为 from_string 和 to_string 的位置是一一对应的,2 对应 4,d 对应 e,c 没有对应的值,所以 c 会被删除。字符里的 2 会替换为 4,d 因为字符串里没有, 不做替换,c 由于没有对应的替换字符,所以字符串里的 c 会被删除。因此输出 结果是 143ab。 示例 2:from_string 长度长于 to_string,在 from_string 中而不在 to_string 中的额外字符将从 char 中删除。 gbase> SELECT TRANSLATE('13579abc','13a','24') FROM t; +----------------------------------+ | TRANSLATE('13579abc','13a','24') | +----------------------------------+ | 24579bc | +----------------------------------+ 1 row in set 示例 3:from_string 为 NULL,返回值为 NULL。 gbase> SELECT TRANSLATE('23',NULL,'a') FROM t; +--------------------------+
TRANSLATE(char,from_string,to_string)
最新推荐文章于 2022-10-25 16:31:54 发布