select substr(id, length(id)-4,length(id)) as id from test;
select substr(id, 1,length(id)-4) as id from test;
select substr(id,length(id)-4+1) as id from test;
select substr(c1,length(c1)-4+1) from t1
select decode(length(id),1,id,2,id,2,id,4,id,substr(id, length(id)-4,length(id)) as id from test;
SQL> with tmp as ( 2 select '12345' data from dual union all 3 select '1' data from dual union all 4 select '123' data from dual 5 ) 6 select substr(data, -least(length(data), 4)) 7 from tmp;
substr(id, length(id)-4,length(id)) as id
from test;
substr(id, 1,length(id)-4) as id
from test;
from test;
from test;
SQL> with tmp as (
2 select '12345' data from dual union all
3 select '1' data from dual union all
4 select '123' data from dual
5 )
6 select substr(data, -least(length(data), 4))
7 from tmp;
SUBSTR(DATA,-LEAST(LENGTH(DATA
------------------------------
2345
1
123