不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
sql两个int相除结果为整数解决方法
编辑:dnawo 日期:2012-09-19
今天在测试时发现有个money字段值总为0,在对存储过程调试后发现了问题,问题重现:
我们想得到的是0.2,结果被取整了,又做了几个测试:
综合上边测试结果,在不改变sql中@a和@b类型的前提下,sql脚本修改为:
多个int相除时注意转换顺序:
复制内容到剪贴板
程序代码

declare @a int, @b int
set @a = 2
set @b = 10
print @a/@b --输出0
set @a = 2
set @b = 10
print @a/@b --输出0
我们想得到的是0.2,结果被取整了,又做了几个测试:
复制内容到剪贴板
程序代码

declare @a int, @b int
set @a = 2
set @b = 10
print cast(@a/@b as money) --输出0.00
set @a = 2
set @b = 10
print cast(@a/@b as money) --输出0.00
复制内容到剪贴板
程序代码

declare @a money, @b money
set @a = 2
set @b = 10
print @a/@b --输出0.20
set @a = 2
set @b = 10
print @a/@b --输出0.20
综合上边测试结果,在不改变sql中@a和@b类型的前提下,sql脚本修改为:
复制内容到剪贴板
程序代码

declare @a int, @b int
set @a = 2
set @b = 10
print @a/cast(@b as money) --输出0.20
set @a = 2
set @b = 10
print @a/cast(@b as money) --输出0.20
多个int相除时注意转换顺序:
复制内容到剪贴板
程序代码

print 2/10/cast(1 as money) --输出0.00
print 2/cast(1 as money)/10 --输出0.20
print cast(1 as money)*2/10 --输出0.20
print 2/cast(1 as money)/10 --输出0.20
print cast(1 as money)*2/10 --输出0.20
评论: 0 | 引用: 0 | 查看次数: 6182
发表评论
请登录后再发表评论!