相关疑难解决方法(0)

T-SQL十进制分区准确度

有谁知道为什么,使用SQLServer 2005

SELECT CONVERT(DECIMAL(30,15),146804871.212533)/CONVERT(DECIMAL (38,9),12499999.9999)
Run Code Online (Sandbox Code Playgroud)

给了我11.74438969709659,

但是当我将分母上的小数位数增加到15时,我会得到一个不太准确的答案:

SELECT CONVERT(DECIMAL(30,15),146804871.212533)/CONVERT(DECIMAL (38,15),12499999.9999)
Run Code Online (Sandbox Code Playgroud)

给我11.74438969

t-sql precision

24
推荐指数
4
解决办法
4万
查看次数

SQL浮点精度限制为6位数

我在excel中有以下一组计算,我希望能够在存储过程中使用.

高强

CellA: 45/448.2 = 0.100401606425703
CellB: 1-CellA = 0.899598393574297
CellC: 1-CellB = 0.100401606425703
CellD: CellC * 448.2 = 45.000000000000000
Run Code Online (Sandbox Code Playgroud)

在SQL中我正在做以下事情:

declare @a decimal(18,15) = 45/448.2  
declare @b decimal(18,15) = 1-@a
declare @c decimal(18,15) = 1-@b
declare @d decimal(18,15) = @c * 448.2
Run Code Online (Sandbox Code Playgroud)

我也试过在一行中运行计算

declare @e decimal(18,15) = (1-(1-(45/448.2)))*448.2
Run Code Online (Sandbox Code Playgroud)

当我返回值时,SQL给出了以下内容:

@a: 0.100401000000000
@b: 0.899599000000000
@c: 0.100401000000000
@d: 44.999728200000000

@e: 44.999728200000000
Run Code Online (Sandbox Code Playgroud)

我已经尝试在SQL中调整小数的精度,但我没有什么区别,它只返回小数的前6位数.

Excel在运行公式时是否进行任何优化?

有任何想法吗?

sql t-sql excel excel-formula

5
推荐指数
1
解决办法
1624
查看次数

标签 统计

t-sql ×2

excel ×1

excel-formula ×1

precision ×1

sql ×1