存储过程的结果保留小数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位小数的啊
...全文
127 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
叶子 2008-04-01
我只知道会四舍五入!
回复
qq03sj04 2008-04-01
[Quote=引用 11 楼 Haiwer 的回复:]
Try:

declare @js numeric
--->

declare @js numeric (28,2)
[/Quote]
这样改完就正确了!!!!
回复
utpcb 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))
回复
相关推荐
基于java的企业人事管理系统设计--软件工程课程设计(含源码与论文设计).rar 1 引言 4 1.1 课程设计目标 4 1.2 编程工具(编程环境)介绍 4 1.3 实施时间及主要实施步骤 4 2 需求分析 5 3 系统总体设计 6 4 数据库设计 6 5 主要功能模块的设计与实现 10 5.1 功能模块1详细设计(综合查询员工信息)..........................................................10 5.1.1 详细设计.......................................................................................................10 5.1.2 算法流程........................................................................................................15 5.1.3 界面设计及测试结果.....................................................................................15 6 调试分析 15 7 用户手册 16 8 测试结果 17 8.1 员工信息的添加...................................................................................................17 8.2 员工信息的修改...................................................................................................17 8.3 员工信息的删除...................................................................................................18 8.4 员工信息的综合查询...........................................................................................18 8.5 员工信息按性别统计的结果................................................................................19 8.6 员工信息按状态统计的结果...............................................................................19 8.7 员工信息按职称统计的结果................................................................................20 9 结论 20 10 参考文献 20
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-03-31 04:00
社区公告
暂无公告