无论出于何种原因,由于算术溢出错误,以下内容都会失败。我试过铸造和转换没有成功。有什么想法吗?
DECLARE
@s INT = DATEDIFF(SECOND, '19700101', @EndDate),
@e INT = DATEDIFF(SECOND, '19700101', @StartDate)
DECLARE @X FLOAT = @s-@e
SELECT EXP(@X)
将表达式转换为数据类型float的算术溢出错误。
答案 0 :(得分:0)
由于溢出变量,因此需要更多位。您可以使用float(n)来增加位数,或者只使用使用17个字节的十进制数。
DECLARE @X decimal = @s-@e