Why do I get #### in the NUMBER column after format?

Yes, column names can be truncated (or) changed to the name you want

From your above select statement.

If you want to truncate 'Fee' column to 'Fe'. Here is the procedure -

col c1 heading "Fe" for a5

col c2 heading "ID" for 999

col c3 heading "smth" for a5

select fee c1, ID c2, smth c3 from visit;


You can adjust the number of digits you want SQL*Plus to use to display the numeric data just as you adjust the number of characters used to display character data. Something like

column fee format 999999999.99

will tell SQL*Plus to display up to 9 digits before the decimal point and two after the decimal point. You can adjust that, of course, if you know your fees are going to be smaller (or larger).