欢迎光临

木子屋

标题: sql两个int相除结果为整数解决方法

作者: dnawo

日期: 2012-09-19 10:14 AM

分类: 服务器

内容: 今天在测试时发现有个money字段值总为0，在对存储过程调试后发现了问题，问题重现：
复制内容到剪贴板 程序代码declare @a int, @b int
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
复制内容到剪贴板 程序代码declare @a money, @b money
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
多个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

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.170 ms

返回

标题: sql两个int相除结果为整数解决方法

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.170 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.248 ms

返回