In the post Remove the Trailing Character From a String Using SQL, we use substr SQL function. To remove a character at a specific location in a string, I create a function that takes advantage of substr again as shown below.
create or replace function remove_at( str IN varchar2, pos IN number) return varchar2 is begin return substr(str,1,pos-1)||substr(str, pos+1, length(str)); end; /Now, I apply this function using different locations and the results look correct.
SQL> select id, val from tbl_val; ID VAL ------- -------------------------------- 1 abcdef SQL> select id, remove_at(val,3) val from tbl_val; ID VAL ------- -------------------------------- 1 abdef SQL> select id, remove_at(val,5) val from tbl_val; ID VAL ------- -------------------------------- 1 abcdf SQL> select id, remove_at(val,1) val from tbl_val; ID VAL ------- -------------------------------- 1 bcdef SQL> select id, remove_at(val,0) val from tbl_val; ID VAL ------- -------------------------------- 1 abcdef SQL> select id, remove_at(val,10) val from tbl_val; ID VAL ------- -------------------------------- 1 abcdef
No comments:
Post a Comment