規模我最近跨列聲明,其中精密等於擴展傳來:精密等於在MS SQL-服務器
...
[MYCOLUMN] [decimal](5, 5) NULL,
...
根據這一documentation這似乎是正確的。
但我不明白,這是否意味着小數點適合於,只能有小數點右邊的數字?
規模我最近跨列聲明,其中精密等於擴展傳來:精密等於在MS SQL-服務器
...
[MYCOLUMN] [decimal](5, 5) NULL,
...
根據這一documentation這似乎是正確的。
但我不明白,這是否意味着小數點適合於,只能有小數點右邊的數字?
是的,這意味着插入表格時只允許使用小數。其他所有內容都將被截斷,並且很可能會生成「數據將被截斷」警告。
所以該列的可能值是在以下範圍內:
0 - 0.99999
看一看這個SQLFiddle。如果您取消註釋將1
插入到表中,您將收到截斷錯誤。
此外,如果SQLFiddle不斷下降,這裏是代碼:
create table test (col1 decimal(5,5));
insert into test values (0.12345);
insert into test values (0);
-- insert into test values (1);
select *
from test
你很可能會得到一個'算術溢出錯誤轉換數字到數據類型數字'錯誤試圖插入大於零的任何東西。試試看:'聲明@Test table(MYCOLUMN decimal(5,5)NULL);插入@test values(1.1); select @ from @ test' –
@KM是的,這聽起來似乎更合理。我現在無法訪問SQL Server數據庫,因此我無法檢查並確切地說出您將收到的消息。 –
在這裏你有演示https://data.stackexchange.com/stackoverflow/query/374839 – lad2025
十進制(5,3)指有價值的長度爲5分的手段'12.345'和3意味着你可以使用後3號十進制 – wiretext