关于SQL的除法,浮点型的

cowbo2 2015-01-29 12:19:22
为什么
select cast(1/3 as decimal(18,2))
等出的是:0.00
而不是0.33

...全文
668 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Neo_whl 2015-01-29
  • 打赏
  • 举报
回复
1/3的结果为0, 0转换为小数所以是0.00
Ekun_sky 2015-01-29
  • 打赏
  • 举报
回复
select cast(1/3.00 as decimal(18,2))
在3后面加个.00
chen357313771 2015-01-29
  • 打赏
  • 举报
回复
select cast(CAST(1 AS DECIMAL(18,2))/3 as decimal(18,2))
0808xyj 2015-01-29
  • 打赏
  • 举报
回复
将除数 转换为小数部分保留一位小数的浮点型,然后再除法计算
江南小鱼 2015-01-29
  • 打赏
  • 举报
回复
两个int型做商,结果也是int型。
江南小鱼 2015-01-29
  • 打赏
  • 举报
回复
引用 楼主 cowbo2 的回复:
为什么 select cast(1/3 as decimal(18,2)) 等出的是:0.00 而不是0.33 晕
1/3,1和3默认是int型,结果当然是零咯。

34,576

社区成员

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

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