列为decimal类型的时候偏偏没有小数部分,为float类型的时候才有小数部分 select a.ta021*1.0000*d.de1/d.de2*(1.0000+d.de3/100.0000-d.de4/100.0000) as sumquan from Cmocta a left join cbom c on a.cinvcode = c.cinvcode left join cbomson d on c.bomid=d.bomid left join ainventory b on d.cinvcode=b.cinvcode where a.ta003 between @socode1 and @socode2 AND a.lay = @Level-1 以上代码,当a.ta021 为 decimal(18,4) 的时候,sumquan 的值为 38.0000, 当a.ta021 为 float 的时候,sumquan 的值为 37.9011 现在问题是 a.ta021 一定是 decimal(18,4) , 但又想值为37.9011 , SQL语句怎么写呢