2008-11-13 57 views

回答

3

这很好像1.0的文字,但如果你拉从表列中的数据,你需要转换/转换你的公式首先评估号:

convert(decimal, [col1])/([col2] + [col3]) 

- 或 -

convert(decimal(15, 2), [col1])/([col2] + [col3]) 
1

我发现从同事发现,就像我发布这个。

您需要指定默认的精度和比例。

这适用于这种情况: 声明@tempDec十进制(3,2)

从MSDN:

十进制[(对[,S])]和数字[(对[,s]的)] 固定精度和刻度编号。当使用最大精度时,有效值从 - 10^38 +1到10^38 - 1。小数的SQL-92同义词是dec和dec(p,s)。数字在功能上等同于小数。

p(precision) 可以存储的最大小数位总数,小数点的左边和右边都可以存储。精度必须是从1到38的最大精度的值。默认精度为18.

s(比例) 可存储在小数点右侧的最大小数位数。比例必须是从0到p的值。只有在指定了精度的情况下才能指定比例。默认比例是0;因此,0 < = s < = p。根据精度,最大存储大小会有所不同。

+0

也就是说,局部变量中的零刻度将删除存储点后的数据 – gbn 2008-11-14 19:13:54