一、语法:
TRANSLATE(string,from_str,to_str)
二、目的
返回将(所有出现的)from_str中的每个字符替换为to_str中的相应字符以后的string。TRANSLATE是REPLACE所提供的功能的一个超集。如果from_str比 to_str长,那么在from_str中而不在to_str中的额外字符将从string中被删除,因为它们没有相应的替换字符。to_str不能为空,Oracle将空字符串解释为NULL,并且如果TRANSLATE中的任何参数为NULL,那么结果也是NULL。
三、允许使用的位置
过程性语句和SQL语句。
四、示例
SELECT TRANSLATE('abcdefghij','abcdef','123456') FROM dual;
TRANSLATE
--------------
123456ghij
SELECT TRANSLATE('abcdefghij','abcdefghij','123456') FROM dual;
TRANSLATE
--------------
123456
select translate('smaspalae','as','s') from dual;
TRANSLATE
--------------
mspslse
select translate('smaspalae','s','as') from dual;
TRANSLATE
--------------
amaapalae
可以将from_str与to_str中的每一个字符对应起来,用to_str字符去替换string中from_str对应的字符,
例如translate('smaspalae','as','s')用to_str中的's'去替换'smaspalae'中from_str对应的字符'a', to_str中没有字符与from_str中's'对应,可以理解为to_str中的Null字符与from_str中的null字符对应,字符||null还是等于字符, 也可以理解为在string中删除没有对应的额外字符。