我去执行select translate('a&b','t{}','pp') from dual;结果如下:输入 b 的值: d
原值 1: select translate('a&b','t{}','pp') from dual
新值 1: select translate('ad','t{}','pp') from dualTR
--
ad首先它提示我去输入b的值,然后得到ad。我想请教一下为什么会这样,得到的结果为何是ad?
另外select translate('at{&}t','at{}','at') from dual;的结果为什么是 at&t ?万分感激
原值 1: select translate('a&b','t{}','pp') from dual
新值 1: select translate('ad','t{}','pp') from dualTR
--
ad首先它提示我去输入b的值,然后得到ad。我想请教一下为什么会这样,得到的结果为何是ad?
另外select translate('at{&}t','at{}','at') from dual;的结果为什么是 at&t ?万分感激
解决方案 »
- 请教一个sql
- 存储过程中 变量列名,变量表名,把数据存放到变量的问题
- 求救:Oracle 存储过程运行不能结束!!导致Job死???
- 请高手写个简单的PL/SQL中存储过程(有输入参数/输出参数)
- 如何保留指定位数的小数?
- 初学者,请指点。。。
- 关于oracle中帐号sys和system,有什么区别呢
- 请教这两条sql语句的具体含义(聊天室)是什末?请联合上下文?来者有分
- 一个关于用户链接的问题,我第三次请求大家的帮助!
- 执行请求的操作时遇到错误: Listener refused the connection with the following error: ORA-125
- XML数据文件如何插入到table表
- oracle的windows版本和linux版本有什么区别呢?
select translate('Black', 'Bl', 'B') from dualTRANSLATE('BLACK','BL','B')
---------------------------
Back
嗯,这个我知道,问题是at{&}中能匹配到at{}?
还有,translate('a&b','t{}','pp')没匹配到t{}为什么会提示输入b的值,而且不是其它,我就想知道是怎么个原理。
translate('at{&}t','at{}','at')其中at{}里面的a用后面at中的a替换,at{}里面的t用后面at中的t替换,而{}没有任何东西替换,那就是空,就是遇到{}两个字符的时候都删掉,所以最后结果就成了at&t。
SQL> select translate('ta&]]b}','t&}','c&') from dual;TRANSL
------
ca&]]b