如何解决error Arithmetic overflow error converting expression to data type int?
How to solve error Arithmetic overflow error converting expression to data type int?
当 运行 以下查询时(我使用 python 创建查询):
SELECT x, y, z, sum(r) AS R
FROM data_table
WHERE [start_time] >= convert(datetime, '2022-02-03')
AND [end_time] <= CONVERT(datetime, '2022-02-07')
GROUP BY x, y, z
我收到错误:
Arithmetic overflow error converting expression to data type int.
如果我将日期更改为“2022-02-04”,它工作正常。
有人可以帮我解决我的查询,让它在所有日期都有效吗?
似乎 sum()
的结果溢出了,如何将 r 转换为 bigint
在总结结果之前:
SELECT x, y, z, sum(cast(r as bigint)) AS R
FROM data_table
WHERE [start_time] >= convert(datetime, '2022-02-03')
AND [end_time] <= CONVERT(datetime, '2022-02-07')
GROUP BY x, y, z
db<>fiddle here
当 运行 以下查询时(我使用 python 创建查询):
SELECT x, y, z, sum(r) AS R
FROM data_table
WHERE [start_time] >= convert(datetime, '2022-02-03')
AND [end_time] <= CONVERT(datetime, '2022-02-07')
GROUP BY x, y, z
我收到错误:
Arithmetic overflow error converting expression to data type int.
如果我将日期更改为“2022-02-04”,它工作正常。 有人可以帮我解决我的查询,让它在所有日期都有效吗?
似乎 sum()
的结果溢出了,如何将 r 转换为 bigint
在总结结果之前:
SELECT x, y, z, sum(cast(r as bigint)) AS R
FROM data_table
WHERE [start_time] >= convert(datetime, '2022-02-03')
AND [end_time] <= CONVERT(datetime, '2022-02-07')
GROUP BY x, y, z
db<>fiddle here