sql - 对 INT 求和时出现算术溢出错误,如何将其转换为 BIGINT?

标签 sql sql-server casting math bigint

当我尝试从表中获取列的总和时,我收到错误将表达式转换为数据类型 int 时出现算术溢出错误,因为结果数字对于 INT 来说太大了。所以我尝试使用以下方法将 CAST 转换为 BIGINT

SELECT CAST(SUM(columnname) AS BIGINT) FROM tablename

这给了我同样的错误。知道我做错了什么吗?

最佳答案

在求和之前尝试将其转换。例如。

SELECT SUM(CONVERT(bigint, columnname)) FROM tablename

SELECT SUM(CAST(columnname AS BIGINT)) FROM tablename

关于sql - 对 INT 求和时出现算术溢出错误,如何将其转换为 BIGINT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1377718/

相关文章:

sql - 在 SSIS 派生列中替换 NULL

mysql查询需要在sql server中转换为find_in_set和group_concat关键字

sql-server - SQL Server 配置文件 - 查看参数值?

Java 集和 SQL 查询

sql-server - T-SQL : Selecting top n characters from a text or ntext column

java - Java 泛型的 Number.valueOf() 实现

mysql - 在mysql中将科学记数法从Varchar转换为Decimal

C++ 转换为派生结构和父结构

php - 使用 MySQL 进行 SQL 注入(inject)(一个有趣的挑战)

带if语句的sql查询