gpt4 book ai didi

sql-server - int 类型的算术溢出错误,值 = 4957500001.400178

转载 作者:行者123 更新时间:2023-12-02 00:33:25 24 4
gpt4 key购买 nike

我知道过去曾有人问过类似的问题,但我认为我的情况略有不同。我有一个具有对数值的列,我正在尝试使用以下公式反转它们:SELECT POWER(10,CAST(9.695262723 AS NUMERIC(30,15)))

假设值 9.695262723 是该列的值之一。尝试运行此查询时,我收到 Arithmetic overflow error for type int, value = 4957500001.400178

另一方面,相同的查询对于较小的值也能正常工作,例如SELECT POWER(10,CAST(8.662644523 AS NUMERIC(30,15)))

我怎样才能克服这个错误并计算我拥有的 log10 条目的倒数?仅供引用,表中存在的更大值(以 log10 为单位)是 12.27256096

最佳答案

这里的问题是您的第一个输入参数 (10) 默认情况下,SQL 服务器会将其视为数据类型 intint最大值为2^31-1(2,147,483,647),而4,957,500,001这个数字远大于这个,所以需要用到bigint:

SELECT POWER(CONVERT(bigint,10),CONVERT(numeric(30,15),9.695262723));

编辑:如果您需要保留小数位,请使用具有足够大的标度和精度的 numeric,而不是 bigint

关于sql-server - int 类型的算术溢出错误,值 = 4957500001.400178,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50833574/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com