存储过程的结果保留小数2位怎么是以0.05为单位呢?好奇怪啊

qq03sj04 2008-03-31 04:00:48
我用存储过程计算一个字段的值,结果出来的结果是以0.05单位保存的,搞不懂是怎么回事?
比如,结果为502.869, 它会保存为 502.90
478.405 会保存为478.45,总之所有的结果都是以 .50,.60 或.85,.35 等等以0.05为进制的结果
这是怎么回事啊
我的字段就是 numeric 类型 2位小数的啊
...全文
266 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
叶子 2008-04-01
  • 打赏
  • 举报
回复
我只知道会四舍五入!
qq03sj04 2008-04-01
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 Haiwer 的回复:]
Try:

declare @js numeric
--->

declare @js numeric (28,2)
[/Quote]
这样改完就正确了!!!!
utpcb 2008-03-31
  • 打赏
  • 举报
回复
愚人节还没到呢呵呵就在基础区愚人阿!哈哈小伙子给我分数吧 
昵称被占用了 2008-03-31
  • 打赏
  • 举报
回复
Try:

declare @js numeric
--->

declare @js numeric (28,2)
hui_hui_2007 2008-03-31
  • 打赏
  • 举报
回复
刚才没看明白,现在有点明白了,是计算误差吧。
我想是因为加的数多了,其实每次计算都是按3位算的。最后四舍五入。
给人的感觉是误差,其实不会。
楼主放点测试数据,就一目了然了。
楼主的代码,定义@js时,没有指定小数位数
flairsky 2008-03-31
  • 打赏
  • 举报
回复
sql的bug?
hui_hui_2007 2008-03-31
  • 打赏
  • 举报
回复
[Quote=引用楼主 qq03sj04 的帖子:]
比如,结果为502.869, 它会保存为 502.90
我的字段就是 numeric 类型 2位小数的啊
[/Quote]

就应该这样呀,两位就是四舍五入呀。
select cast(502.869 as decimal(18,2))
-狙击手- 2008-03-31
  • 打赏
  • 举报
回复
用2位以上小数位,最后显示2位
qq03sj04 2008-03-31
  • 打赏
  • 举报
回复
我把@js的结果赋值给一个字段,发现@js的结果是正常的保留2位小数的
qq03sj04 2008-03-31
  • 打赏
  • 举报
回复
代码如下:
CREATE proc gedeshui
AS
begin
declare @js numeric
update gzk
--js=yfgz_js+yj_lr-bj_js-ybjf_kk-grjf_kk-njgrjf_kk-gz_jt-fg_jt
set @js=yfgz_js+yj_lr-bj_js-ybjf_kk-grjf_kk-njgrjf_kk-gz_jt-fg_jt,
gds_js=(@js-
case when @js<=2000 then
@js
when @js>2000 then
2000
end
)*
case when @js<=2000 then
0
when @js>2000 and @js<=2500 then
0.05
when @js>2500 and @js<=4000 then
0.1
when @js>4000 and @js<=7000 then
0.15
when @js>7000 then
0.2
end
-
case when @js<=2000 then
0
when @js>2000 and @js<=2500 then
0
when @js>2500 and @js<=4000 then
25
when @js>4000 and @js<=7000 then
125
when @js>7000 then
375

end
end
GO
-狙击手- 2008-03-31
  • 打赏
  • 举报
回复
最多4舍5入,你说得挺 吓人的,要是这样估计微软门口有人拿刀砍盖茨
dawugui 2008-03-31
  • 打赏
  • 举报
回复
哦?确实奇怪.

尝试对结果使用cast(502.869 as decimal(18,2))
liangCK 2008-03-31
  • 打赏
  • 举报
回复
看错.
liangCK 2008-03-31
  • 打赏
  • 举报
回复
cast(245.1551 as decimal(9,2))

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧