我想将端口号存储在我的 SQL 服务器数据库中。通常,任何端口的值都可以从(0 到 65,535)。
在以下链接http://msdn.microsoft.com/en-us/library/s3f49ktz%28v=vs.71%29.aspx中提到“无符号短”将适用于存储端口号。
但就我而言,我正在起诉 Sql server 2008 r2,那么我可以使用哪种数据类型来表示“无符号短”?
问候
我想将端口号存储在我的 SQL 服务器数据库中。通常,任何端口的值都可以从(0 到 65,535)。
在以下链接http://msdn.microsoft.com/en-us/library/s3f49ktz%28v=vs.71%29.aspx中提到“无符号短”将适用于存储端口号。
但就我而言,我正在起诉 Sql server 2008 r2,那么我可以使用哪种数据类型来表示“无符号短”?
问候
请参阅有关数据类型的文档。
您可以使用小数/数字:
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
每次相比,它每次都会为您节省一个额外的字节。