我们如何在SQL Server数据库中指明类型int
,integer
或number
的最大大小?
例如,对于varchar
,我们可以指出最大尺寸:varchar(40)
这些数字的等价物是什么?
答案 0 :(得分:4)
您定义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)
总共会给出 10 位数, 4 位于小数点后面,因此您可以使用
0.0000
123456.1234
等等
答案 1 :(得分:1)
它们已经由您使用的类型定义, 对于bigint,这将是8个字节。见reference