都是精確數據類型, 前兩個可以自己定義長度和小數位數, Money的定義相當於Numric(19,4)
numeric(10,2)
表示最大可以放10位數,但這10位數里有2位是小數如:
12345678.12
numeric
功能上等同於 decimal。
sql server的 money 類型其實就是小數類型 decimal 。
字節數 | 長度(小數點前.小數點后) | |
money | 8 | 15位.4位 |
decimal(19,4) | 9 | 15位.4位(千萬億以下) |
smallmoney | 4 | 6位.4位 |
decimal(10,4) | 9 | 6位.4位(百萬以下) |
decimal(9,4) | 5 | 5位.4位(十萬以下) |
decimal與money同樣的長度與精度,但decimal占用字節數要比money多1個字節(比smallmoney更是要多5個字節),為了通用與標准,建議直接用decimal,犧牲一點硬盤不算啥。