SQL EXP引发算术溢出错误

时间:2018-02-01 16:10:27

标签: sql sql-server

无论出于何种原因,由于算术溢出错误,以下内容都会失败。我试过铸造和转换没有成功。有什么想法吗?

DECLARE 
    @s INT = DATEDIFF(SECOND, '19700101', @EndDate),
    @e INT = DATEDIFF(SECOND, '19700101', @StartDate)

DECLARE @X FLOAT = @s-@e

SELECT EXP(@X)
  

将表达式转换为数据类型float的算术溢出错误。

1 个答案:

答案 0 :(得分:0)

由于溢出变量,因此需要更多位。您可以使用float(n)来增加位数,或者只使用使用17个字节的十进制数。

DECLARE @X decimal = @s-@e
相关问题