我們如何能夠指示在SQL Server數據庫類型int
,integer
或number
一個最大尺寸?與Max在SQL Server數據庫大小INT型
例如,使用varchar
我們可以指定最大尺寸:varchar(40)
。
數字相當於什麼?
我們如何能夠指示在SQL Server數據庫類型int
,integer
或number
一個最大尺寸?與Max在SQL Server數據庫大小INT型
例如,使用varchar
我們可以指定最大尺寸:varchar(40)
。
數字相當於什麼?
你定義一個CHECK
約束:
CREATE TABLE dbo.YourTable
(
SomeIntColumn INT
CONSTRAINT CHK_YourTable_SomeIntColumn
CHECK (SomeIntColumn >= 0 AND SomeIntColumn <= 9999),
.......
)
您可以定義可能值的範圍您的數字列的方式。在我的示例中,這個約束條件限制爲CHECK
,您可以將INT
列限制爲最多4位數。
更新
對於INT
風格的數據類型,你不能直接定義了一些在SQL Server的數字 - 有沒有INT(4)
或類似的東西。您需要使用我所示的CHECK
約束。
類型decimal
(和numeric
)都支持精度和標度:(小數點後的位數)
decimal(p, s)
其中p
是精度(位數總數)和s
是規模。
所以一個decimal(10,4)
讓你在總位,這的是小數點後,這樣你就可以有價值觀像
0.0000
123456.1234
等
一種解決方案可能是創建一個觸發器,如下所示:http://stackoverflow.com/questions/12868213/is-that-somehow-possible-to-set-a-maximum-value-for-a-column-at-sql-server- 2008 – Robin
檢查約束限制了可接受的值範圍,但是對存儲量的唯一影響是ed是您選擇的內置類型中的哪一個 - 因此,例如,無法獲得僅使用6個字節存儲的整數類型。 –
如果不是一個整數,有沒有辦法指定一個數字值的這個最大尺寸? – manu