我有一个表有两个十进制(18,0)字段。SQL Server插入十进制,但选择Int
我在这张表中插入两个十进制值。例如,1.11
当我从表中(不带管型)选择,我得到1
我失去了所有的Percision,我不知道为什么。
插入到测试值(153, '测试', '测试',1,1,1.11,1.11)
选择从TEST *和它们是1和1,而不是1.11,1.11
有任何想法吗?
我有一个表有两个十进制(18,0)字段。SQL Server插入十进制,但选择Int
我在这张表中插入两个十进制值。例如,1.11
当我从表中(不带管型)选择,我得到1
我失去了所有的Percision,我不知道为什么。
插入到测试值(153, '测试', '测试',1,1,1.11,1.11)
选择从TEST *和它们是1和1,而不是1.11,1.11
有任何想法吗?
当您将一个字段声明为十进制(18,0)时,表示您希望小数点后的精度为0位数。您将要将这些列定义为十进制(18,2)(或者您希望的精度的很多数字)以保持1.11的值。
请参阅MSDN page on decimal and numeric types了解可怕的细节。
尝试改用小数型(9,2)
也许尝试创建列作为
十进制(18,2)
定义精度为十进制否则每次都仅存储INT值不是十进制值
哇我觉得自己就像是一个dufus。 谢谢 – bladefist 2009-06-29 20:59:40