1

我有一个包含两个小数(18,0)字段的表。

我在这个表中插入两个十进制值。例如,1.11

当我从表中选择时(没有演员表),我得到 1。

我失去了所有的精确度,我不知道为什么。

插入 TEST 值 (153, 'test', 'test', 1, 1, 1.11, 1.11)

从 TEST 中选择 *,它们是 1 和 1 而不是 1.11,1.11

有任何想法吗?

4

4 回答 4

7

当您将字段声明为小数(18,0)时,您是说您想要小数点后的 0 位精度。您需要将这些列定义为小数(18,2)(或您想要的任何精度数字),以保持 1.11 的值。

有关可怕的详细信息,请参阅有关十进制和数字类型的 MSDN 页面。

于 2009-06-29T20:56:57.727 回答
1

每次将精度定义为十进制,否则它只存储 int 值而不是 Decimal 值

于 2009-06-30T04:32:16.207 回答
0

尝试更改为十进制类型(9,2)

于 2009-06-29T20:56:59.723 回答
0

也许尝试将列创建为

十进制(18,2)

于 2009-06-29T21:00:27.517 回答