Oracle Computed column datatype



I am retrieving data from Oracle to an ADO recordset using the MS OLE DB
driver. What is the logic used to determine computed column datatype in the
ADO recordset ? For example, Oracle table abc has field weight number(5). A
select returns weight as a numeric if used as is. If the weight is
computed(weight/2000), then the datatype becomes adVarWChar.
The following select gives differents results:
select weight
,weight/2000 tons
from abc
where ...

The first column is numeric and the second is VarWChar. How is this
determined by the different layers of MS Oracle OLEDB driver ? What is the
logic if one wants the column to remain numeric ? Is there anything the user
can do to influence the column datatype ?
Thanks
SP
.