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