
SQL SERVER 经CAST转换后的结果自动被四舍五入了,怎样才能让它不四舍五入
SELECTCAST(CAST(SUM(字段名)ASFLOAT)ASVARCHAR))FROM表名我想让数值型的计算结果转换为后面去掉‘0’的字符型值,但是这样出来的结果...
SELECT CAST(CAST(SUM(字段名) AS FLOAT) AS VARCHAR)) FROM 表名
我想让数值型的计算结果转换为后面去掉‘0’ 的字符型值,但是这样出来的结果被自动四舍五入了,我不想让它四舍五入,不知用什么方法来解决。
看来用这个方法来去掉小数后面的‘0’是不行的。float和real都是近似数。 展开
我想让数值型的计算结果转换为后面去掉‘0’ 的字符型值,但是这样出来的结果被自动四舍五入了,我不想让它四舍五入,不知用什么方法来解决。
看来用这个方法来去掉小数后面的‘0’是不行的。float和real都是近似数。 展开
3个回答
展开全部
没必要转换,抽取计算的结果出来是数字,你在用的时候就当做字符型使用就成,没必要还转成字符型吧。
更多追问追答
追问
需要和其他字段联合生成一个字符串返回呀,不得不转成字符型的,这只是其中一部分。
追答
数据库中的float数据类型在转换为nvarchar是当小数和整数的位数加起来大于6位时就会四舍五入。你用decimal试试。

2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
展开全部
应该是你的sum出来的小数位的长度大于了folat的长度才导致四舍五入的,你用decimal试试
追问
不管SUM出来的大小是多少,一律被四舍五入了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select left( '3.1415 ',charindex( '. ', '3.1415 ')+3)
取小数点左N位如何
取小数点左N位如何
追问
小数点后不能固定,只需要去掉最后的‘0’就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询