SQL类型数据库中具有最大大小的INT类型

时间:2013-06-28 09:15:41

标签: sql database sql-server-2008

我们如何在SQL Server数据库中指明类型intintegernumber的最大大小?

例如,对于varchar,我们可以指出最大尺寸:varchar(40) 这些数字的等价物是什么?

2 个答案:

答案 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