读书人

float 字段 赋值后 小数位丢掉

发布时间: 2013-03-12 11:19:35 作者: rapoo

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
都不行吗?

读书人网 >SQL Server

热点推荐