关于 oracle translate 函数的疑问
为了统计字符串'45454|4545|45411'中的‘|’的数
打算将字符串'45454|4545|45411' 通过替换变为‘||’,即将其中的数字都替换为空
于是采用了函数translate()
但是效果并不理想
select translate('45454|4545|45411', '0123456789', '') from dual;
返回结果为:‘’ ,很奇怪不知道为什么会返回空字符串,毕竟没有提供‘|’的转换关系的话,应该不转换才对
于是查阅了一下文档采用下面两种方式返回结果正常:
select translate('45454|4545|45411', '|0123456789', '|') from dual;
select translate('45454|4545|45411', '#0123456789', '#') from dual;
这两种方法返回的结果为 ‘||’
我的疑问是为什么
select translate('45454|4545|45411', '0123456789', '') from dual;返回的是空字符串‘’,而不是‘||’
请各位大侠指教,谢谢