【问题标题】:Sqlserver throws Arithmetic overflow error but oracle works goodSqlserver 抛出算术溢出错误,但 oracle 运行良好
【发布时间】:2022-06-16 19:36:24
【问题描述】:

select sum(prdqty) from product

我正在尝试对 INT 数据类型的大数求和,sql server 抛出错误。

将表达式转换为数据类型 int 时出现算术溢出错误

我知道将其转换为 BIGINT 会使其工作,但同样的情况下,它在 oracle 中可以正常工作,哪种数据类型(数字)。

想了解这些数据库之间的屏幕背后发生了什么。

【问题讨论】:

  • SUM 返回与其中的表达式相同的数据类型。如果prdqtyint,那么如果这些值的SUM 在任何时候超出-2^31 (-2,147,483,648) 到2^31-1 (2,147,483,647),就会产生错误。

标签: sql sql-server oracle11g


猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-07
  • 2012-11-05
  • 2015-10-26
  • 1970-01-01
相关资源
最近更新 更多