select (192*255*255*255)+(168*255*255)+(0*255)+42将 expression 转换为数据类型 int 时发生算术溢出错误。

kiss001 2005-10-17 04:53:00
select (192*255*255*255)+(168*255*255)+(0*255)+42将 expression 转换为数据类型 int 时发生算术溢出错误。

sql语句怎么计算大数阿
...全文
85 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
vivianfdlpw 2005-10-17
  • 打赏
  • 举报
回复

declare @i bigint
set @i=255
select (192*@i*255*255)+(168*@i*255)+(0*@i)+42
点点星灯 2005-10-17
  • 打赏
  • 举报
回复

select convert(bigint,255*255*255)*192+(168*255*255)+(0*255)+42
churchatp1 2005-10-17
  • 打赏
  • 举报
回复
只需要加一个cast就可以了,这样后面的自动会转换为bigint
churchatp1 2005-10-17
  • 打赏
  • 举报
回复
select (cast(192*255 as bigint)*255*255)+(168*255*255)+(0*255)+42
zyg0 2005-10-17
  • 打赏
  • 举报
回复
默认是int类型,要是想运算必须指定每一个数的类型
zyg0 2005-10-17
  • 打赏
  • 举报
回复
select cast(192 as bigint)*cast(255 as bigint)*cast(255 as bigint)*cast(255 as bigint)+
cast(168 as bigint)*cast(255 as bigint)*cast(255 as bigint)+cast(0 as bigint)*cast(255 as bigint)+cast(42 as bigint)
lxzm1001 2005-10-17
  • 打赏
  • 举报
回复
也许你产生的数太多了啊你不要用int

34,588

社区成员

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

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