当我知道要修剪的长度而不是它可能包含的长度时,如何使用RTRIM或REPLACE?

dee*_*dee 0 sql oracle

我需要在Oracle查询中对结果集中的最后7个字符进行RTRIM.这7个字符可以是任何东西; 空格,字母数字等......我不知道任何值的确切长度.

所以例如我想运行这样的东西

 SELECT RTRIM (COl_A, (SELECT LENGTH (COL_A)-7) FROM TABLE_ONE;
Run Code Online (Sandbox Code Playgroud)

或替换等价物

SELECT REPLACE(COL_A, (SELECT LENGTH (COL_A)-7 FROM TABLE_ONE),'');
Run Code Online (Sandbox Code Playgroud)

我是否需要对SUBSTRING做些什么?

我知道如何删除/替换特定字符,但在处理未知字符时我遇到了麻烦.我已经看到了一些类似问题的例子,但它们似乎不必要地复杂......或者这需要比我想象的更深入的解决方案吗?

一如既往地感谢您的建议或提示.

Gol*_*rol 7

您正在寻找该substr功能.

select substr(col_a, 1, length(col_a) - 7) from table_one
Run Code Online (Sandbox Code Playgroud)