translate(string, from_str, to_string)
把string中所有的from_str的字符转换为to_string
当from_str的长度与to_string长度相同时,from_str中的字符与to_string中的字符一一对应,替换string中的字符。
select translate('x42312123a', '21', 'qw') res from dual;
2对应q,1对应w,替换结果为x4q3wqwq3a
select translate('x42312123a', '22', 'qw') res from dual;
2对应q,替换结果为x4q31q1q3a
当from_str的长度大于to_str的长度时,多余的字符从string中删除,剩下的一一对应。
select translate('x42312123a', '21345', 'qw') res from dual;
from_str多余的字符是345,string中如果存在3或4或5,则删除,然后把string中的2替换为q,1替换为w。结果为xqwqwqa。
当from_str的长度小于to_str的长度时,则忽略to_str多余的字符。剩下的一一对应。
select translate('x42312123aw', '2', 'qw') res from dual;
to_string多一个w,忽略w字符,把2替换为q。替换结果为x4q31q1q3aw。
把string中所有的from_str的字符转换为to_string
当from_str的长度与to_string长度相同时,from_str中的字符与to_string中的字符一一对应,替换string中的字符。
select translate('x42312123a', '21', 'qw') res from dual;
2对应q,1对应w,替换结果为x4q3wqwq3a
select translate('x42312123a', '22', 'qw') res from dual;
2对应q,替换结果为x4q31q1q3a
当from_str的长度大于to_str的长度时,多余的字符从string中删除,剩下的一一对应。
select translate('x42312123a', '21345', 'qw') res from dual;
from_str多余的字符是345,string中如果存在3或4或5,则删除,然后把string中的2替换为q,1替换为w。结果为xqwqwqa。
当from_str的长度小于to_str的长度时,则忽略to_str多余的字符。剩下的一一对应。
select translate('x42312123aw', '2', 'qw') res from dual;
to_string多一个w,忽略w字符,把2替换为q。替换结果为x4q31q1q3aw。