float 字段 赋值后 小数位丢失
t3的QTY是float类型
按以下方式赋值后,小数位丢失
update #t set LABELIDQTY=t3.QTY
from #t3 t3 , #t t
where t3.PRONUM=t.PRONUM
用以下方式转换,还是不行
update #t set LABELIDQTY=CONVERT(DECIMAL(18,2),t3.QTY)
from #t3 t3 , #t t
where t3.PRONUM=t.PRONUM
------解决方案--------------------float与real是近似值,要用deciaml或者numeric这类精确值作为类型
你先查询一下什么情况,是不是LABELIDQTY字段也是float类型啊
select CONVERT(DECIMAL(18,2),t3.QTY)
from #t3 t3 , #t t
where t3.PRONUM=t.PRONUM
------解决方案--------------------SELECT LTRIM(QTY)+0,CONVERT(NUMERIC(19,2),T3.QTY),CONVERT(NUMERIC(19,6),T3.QTY)
FROM #T3
都不行吗?