【发布时间】:2019-10-04 04:51:10
【问题描述】:
我有一个这样的公式。但公式有错误。请帮帮我。
select
[DAY] as [DAY],
[Name] as [Name],
((cast([columnA] + [columnB] + [columnC] as bigint) * 1000) / NULLIF(8 * 1024 * 1048576, 0)) as [TotalColumn]
from
[TableA]
错误信息:
消息 8115,第 16 级,状态 2,第 2 行
将表达式转换为数据类型 int 的算术溢出错误。
【问题讨论】:
-
columnA、columnB、columnC是什么数据类型?你能给我们一些示例值(理想情况下会导致错误)吗?
-
这是你的问题:
NULLIF(8*1024*1048576,0) -
错误完全正确。
8*1024*1048576不适合(m)任何当前系统上的int。 -
A列、B列、C列的内容是什么?你觉得
NULLIF在做什么?
标签: sql sql-server