我们在使用oracle中order by排序时,如果排序字段是数字,但是类型又是varchar2的话,排序不是很漂亮
select b.feetypecode, nvl((select sum(a.feemoney) from t_slis_cl_survey_fee a
where a.feetype=b.feetypecode and a.batchno= ‘8035000000000668’),0)
from t_slis_cl_survey_fee_type b order by b.feetypecode
方法:这时可以加to_number()函数解决
select b.feetypecode, nvl((select sum(a.feemoney) from t_slis_cl_survey_fee a
where a.feetype=b.feetypecode and a.batchno= ‘8035000000000668’),0)
from t_slis_cl_survey_fee_type b order by to_number(b.feetypecode)