select Rtrim('xyxxDWEYExyzyx','xyz') FROM dual;
输出:
xyxxDWEYEselect Rtrim('xyxxDWEYExyzkzyx','xyz') FROM dual;
输出:
xyxxDWEYExyzk以上两个SQL语句除了Rtrim第一个参数外没啥不一样啊,为啥显示不同?谢谢!
输出:
xyxxDWEYEselect Rtrim('xyxxDWEYExyzkzyx','xyz') FROM dual;
输出:
xyxxDWEYExyzk以上两个SQL语句除了Rtrim第一个参数外没啥不一样啊,为啥显示不同?谢谢!
解决方案 »
- Oracle中有没有类似SQL server中的Char()函数
- 关于安装“Oracle11g第2版-11.2.0.1.0-win32”的一些问题--在线等,谢谢啦
- oracle和mysql关于数据库的一些区别
- 请问如何在pl/sql developer中查看一个包的存储过程的定义
- 一个问题
- 求助一个RMAN恢复的问题
- 关于一个比较复杂的行列互换的问题!oracle的PL/SQL
- 关于blob字段的全文检索不能搜索出中文的问题
- 在线待解决一个关于imp的问题!
- 关于OCP认证的教材!
- pl/sql developer错误,怎么解决?
- SYSTEM表空间和SYSAUX表空间99%以上100%未满对数据库访问性能有影响吗?
所谓Rtrim是一般有两种用法
1.去掉空格,这个就不讨论了
2.从右边开始,查找需要trim的字符,
例如:你的第一个例子中:Rtrim('xyxxDWEYExyzyx','xyz'):
在字符串‘xyxxDWEYExyzyx’中从右往左开始查找‘xyz’中的任意字符,
直到遇到不是这三个字符中的任何一个结束,
所以Rtrim('xyxxDWEYExyzyx','xyz')的结果为xyxxDWEYE
再说,你的第二个例子:Rtrim('xyxxDWEYExyzkzyx','xyz'):
仍然是从右开始查找‘xyz’中的任意字符,
当遇到字母‘k’的时候,因为不是‘xyz’中的任意一个,
所以结束,因此,Rtrim('xyxxDWEYExyzkzyx','xyz')的结果为xyxxDWEYExyzk,
并不是你认为的将所有的‘xyz’都替换掉!