您的位置:首页 > 数据库 > Oracle

oracle中Translate()函数用法

2010-01-05 14:59 645 查看
一、语法:
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中删除没有对应的额外字符。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: