SQL Server插入十进制,但选择Int

时间:2009-06-29 20:54:57

标签: sql sql-server types decimal

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

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

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

我失去了所有的优点,我不知道为什么。

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

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

任何想法?

4 个答案:

答案 0 :(得分:7)

当您将字段声明为十进制(18,0)时,表示您希望小数点后的精度为0位数。您将要将这些列定义为十进制(18,2)(或者您需要的精度数字),以保持值1.11。

有关可怕的详细信息,请参阅MSDN page on decimal and numeric types

答案 1 :(得分:1)

每次只存储int值而不是Decimal值

时,将Precision定义为Decimal

答案 2 :(得分:0)

尝试更改为输入decimal(9,2)

答案 3 :(得分:0)

也许尝试将列创建为

十进制(18,2)