Oracle TRANSLATE() 函数使用指南
Oracle TRANSLATE() 是一个内置函数,它根据给定的翻译关系来翻译一个给定的字符串,并返回翻译后的字符串
Oracle TRANSLATE() 语法
这里是 Oracle TRANSLATE() 函数的语法:
TRANSLATE(string, from_string, to_string)
参数
string-
必需的。 要翻译的字符串。
from_set-
必需的。 一个字符串,它是要翻译的字符的集合。
to_set-
必需的。 一个字符串,它是要翻译成的字符集合。
to_set中的字符和from_set中的字符一一对应形成翻译关系。
返回值
Oracle TRANSLATE() 函数返回一个翻译后的字符串,它将 string 中的所有在 from_set 指定的字符翻译成在 to_set 中对应的字符。
如果任意一个参数为 NULL, TRANSLATE() 将返回 NULL。
Oracle TRANSLATE() 示例
这里有几个展示了 Oracle TRANSLATE() 函数用法的示例。
基本用法
这个示例演示了如何使用 Oracle TRANSLATE() 函数来翻译一个字符串:
SELECT
TRANSLATE('xabcdef', 'abcd', '123')
AS "TRANSLATE('xabcdef', 'abcd', '123')"
FROM dual;
输出:
TRANSLATE('xabcdef', 'abcd', '123')
______________________________________
x123ef让我们看一下 TRANSLATE('xabcdef', 'abcd', '123') 的执行过程:
-
from_set为abcd,它告诉我们a,b,c,d这四个字符将要被翻译。 -
to_set为123,from_set和to_set建立如下的翻译关系:a将被翻译成1b将被翻译成2c将被翻译成3d将被翻译成'',即空字符串
-
字符串
'xabcdef'翻译过程如下:x不在from_set中,因此x被保留。a在from_set中,因此a被翻译成1。b在from_set中,因此b被翻译成2。c在from_set中,因此c被翻译成3。d在from_set中,因此d被翻译成''。e不在from_set中,因此e被保留。f不在from_set中,因此f被保留。
-
翻译的结果是:
x123ef。
NULL 参数
如果任意一个参数为 NULL, TRANSLATE() 将返回 NULL。
SET NULL 'NULL';
SELECT
TRANSLATE(NULL, 'A', 'B') Result1,
TRANSLATE('A', NULL, 'B') Result2,
TRANSLATE('A', 'B', NULL) Result3
FROM dual;
输出:
RESULT1 RESULT2 RESULT3
__________ __________ __________
NULL NULL NULL在本示例中,我们使用 SET NULL 'NULL'; 语句将 NULL 值显示为 'NULL' 字符串。
结论
Oracle TRANSLATE() 是一个内置函数,它根据给定的翻译关系来翻译一个给定的字符串,并返回翻译后的字符串。