We are having a heated debate over the merits of using varchar2 vs using a number data type in Oracle - when a number type is appropriate.

The Varchar2 side is concerned about efficiently using disk space - so a field that could vary from 4 characters to 20 could be handled by a varchar2.

The data base will ultimately be greater than 10 TB so a savings of 25-50% is not insignificant.

Are there performance gains to using a number data type in queries and loads as compared to a varchar2. ( I am aware of the sorting issues involved in using a varchar with a converted number- I know I will need more validation, etc, etc).

I am more concerned about the disk space issue vs the query performance issue.