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' 字符串。