2

我想将端口号存储在我的 SQL 服务器数据库中。通常,任何端口的值都可以从(0 到 65,535)。

在以下链接http://msdn.microsoft.com/en-us/library/s3f49ktz%28v=vs.71%29.aspx中提到“无符号短”将适用于存储端口号。

但就我而言,我正在起诉 Sql server 2008 r2,那么我可以使用哪种数据类型来表示“无符号短”?

问候

4

1 回答 1

2

请参阅有关数据类型的文档

可以使用小数/数字

Precision     Storage bytes
1-9           5
10-19         9
20-28         13
29-38         17

但即使是最小的精度(1-9)也是 5 个字节。

查看整数族(并忽略bigint,因为它是矫枉过正):

Data type    Range                                                 Storage
int          -2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647)      4 Bytes
smallint     -2^15 (-32,768) to 2^15-1 (32,767)                    2 Bytes
tinyint      0 to 255                                              1 Byte

... asmallint太小了,所以只需使用integer. decimal与/numeric每次相比,它每次都会为您节省一个额外的字节。

于 2013-06-27T16:52:32.927 回答