GBase 8s的TRANSLATE() 函数使用说明

TRANSLATE() 语法

这里是 GBase 8s TRANSLATE() 函数的语法:

TRANSLATE(string, from_string, to_string)

参数

string
必需的。 要翻译的字符串。
from_set
必需的。 一个字符串,它是要翻译的字符的集合。
to_set
必需的。 一个字符串,它是要翻译成的字符集合。

to_set 中的字符和 from_set 中的字符一一对应形成翻译关系。

返回值

GBase 8s TRANSLATE() 函数返回一个翻译后的字符串,它将 string 中的所有在 from_set 指定的字符翻译成在 to_set 中对应的字符。
如果任意一个参数为 NULL, TRANSLATE() 将返回 NULL

TRANSLATE() 示例

这里展示了GBase 8s TRANSLATE() 函数用法的示例。

基本用法

这个示例演示了如何使用GBase 8s TRANSLATE() 函数来翻译一个字符串:

SELECT
    TRANSLATE('xabcdef', 'abcd', '123')
FROM dual;

输出:

(expression)  x123ef

让我们看一下 TRANSLATE('xabcdef', 'abcd', '123') 的执行过程:
1, from_set 为 abcd,它告诉我们 a, b, c, d 这四个字符将要被翻译。
2, to_set 为 123,from_set 和 to_set 建立如下的翻译关系:

  • a 将被翻译成 1
  • b 将被翻译成 2
  • c 将被翻译成 3
  • d 将被翻译成 '',即空字符串
    字符串 'xabcdef' 翻译过程如下:
    1) x 不在 from_set 中,因此 x 被保留,此时字符串为:x
    2) a 在 from_set 中,因此 a 被翻译成 1,字符串为:x1
    3) b 在 from_set 中,因此 b 被翻译成 2,字符串为:x12
    4) c 在 from_set 中,因此 c 被翻译成 3,字符串为:x123
    5) d 在 from_set 中,因此 d 被翻译成 '',字符串为:x123
    6) e 不在 from_set 中,因此 e 被保留,字符串为:x123e
    7) f 不在 from_set 中,因此 f 被保留,字符串为:x123ef
    翻译的结果是: x123ef。

NULL 参数

如果任意一个参数为 NULL, TRANSLATE() 将返回 NULL。

SELECT
    NVL(TRANSLATE(NULL, 'A', 'B'),'NULL') Result1,
    NVL(TRANSLATE('A', NULL, 'B'),'NULL') Result2,
    NVL(TRANSLATE('A', 'B', NULL),'NULL') Result3
FROM dual;

输出:

result1 NULL
result2 NULL
result3 NULL

在本示例中,我们使用 NVL()函数将 NULL 值显示为 'NULL' 字符串。

标签: gbase8s, GBase, 南大通用, translate

添加新评论