Sql Server 資料型別
阿新 • • 發佈:2020-09-11
資料型別 decimal
格式decimal [ (p[ ,s] ) ]
其中p是精度(即整數位數+小數位數),該精度必須是從 1 到最大精度 38 之間的值,預設精度為 18。
s是小數位數(小數點右側儲存的十進位制數字位數),數值必須介於 0 和 p 之間,預設的確定位數為 0。
示例 :
-- 小數位第(小數位數+1)位會四捨五入 select @x=123456.0001480 select @x -- 輸出結果 123456.0001 select @x=12345.0001550 -- 小數位 select @x -- 輸出結果 123456.0002 /* * 下面這個賦值報錯 ‘將 numeric 轉換為資料型別 numeric 時出現算術溢位錯誤。’ * 報錯原因:由於整數位數最大為10-4,這裡賦值了一個整數部分為7位的值*/ select @x=1234567.0001550
decimal 等價於 decimal(18,0) 其中18是精度(即整數部分),0是小數位數
示例:
declare @y decimal select @y=38.13764 select @y -- 輸出 38 ,第0+1位四捨五入 select @y=38.63764 select @y -- 輸出 39 ,第0+1位四捨五入 select @y=123456789012345678 select @y -- 輸出 123456789012345678 select @y=1234567890123456789 select @y --輸出 將 numeric 轉換為資料型別 numeric 時出現算術溢位錯誤 ,原因:長度超過預設18