gpt4 book ai didi

sql-server-2008-r2 - 在 INT 列上使用 SUM 时如何防止算术溢出错误?

转载 作者:行者123 更新时间:2023-12-03 10:10:17 26 4
gpt4 key购买 nike

我正在使用 SQL Server 2008 R2 我有一个 INT插入的数据永远不会超过最大值的列 INT ,但我有一个使用 SUM 的查询执行时超过最大值的函数 INT限制并抛出标题中提到的错误。

我希望能够在不更改列类型的情况下执行此查询 INTBIGINT .

这是我的查询:

SELECT    UserId,
SUM( PokemonExp ) AS TotalExp,
MAX( PokemonLevel ) AS MaxPokeLevel

FROM mytable

GROUP BY UserId
ORDER BY TotalExp DESC

注: PokemonExp列的类型是 INT .

最佳答案

SUM 中的表达式类型确定返回类型。

请尝试以下操作:

SELECT    UserId,
SUM( CAST( PokemonExp AS BIGINT )) AS TotalExp,
MAX( PokemonLevel ) AS MaxPokeLevel

FROM mytable

GROUP BY UserId
ORDER BY TotalExp DESC

关于sql-server-2008-r2 - 在 INT 列上使用 SUM 时如何防止算术溢出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8289310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com