SELECT RTRIM('CO_CODE_VALUE', 'VALUE') FROM dual;
结果是CO_CODE_ 但
SELECT RTRIM('CO_CODE_VALUE', '_VALUE') FROM dual;
结果是CO_COD
有人知道为什么吗?
答案 0 :(得分:3)
RTRIM从char的右端删除所有字符 出现在集合中。
也就是说,在您的情况下,它从右侧开始并删除集' _VALUE'中的所有字符,而不是字符串& #39; _value&#39 ;. 例如:
select rtrim('EEEXEEEEEEE', '_VALUE') from dual
给出
EEEX
因为它从右边开始,并删除('V', 'A', 'L', 'U', 'E', 'S', '_')
中的所有字符,所以'E'
向后发生的所有字符都会向后发送,直到找到不在集合中的字符为止{{1} })