我有一個表有兩個十進制(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