number type은 내부적으로 char와는 다른 구조로 저장되게 되고, 조회시 " 사용자가 지정한 포맷"에 맞게 표현하는 구조입니다.
이건 대부분의 DBMS에서 숫자형 저장시 해당되는 내용입니다.
0000001은 결국 숫자로 보면 1일 뿐이니 1로 저장되는게 당연하지만, 이걸 어떻게 뽑느냐는 다른 문제란 거죠
SQL> col tnum format 000000
SQL> select 1 as tnum from dual;
TNUM
-------
000001
1 row selected.
SQL> select 1 as onum from dual;
ONUM
----------
1
1 row selected.