在本教學中,將學習整數數據類型以及如何有效地使用它們在資料庫中存儲整數值。
SQL Server支持標準SQL整數類型,包括:BIGINT
,INT
,SMALLINT
和TINYINT
。 下表說明了每種整數類型的範圍和存儲:
數據類型 | 數值範圍 | 存儲 |
---|---|---|
BIGINT | -2^63 至 2^63 -1 |
8位 |
INT | -2^31 至 2^31 -1 |
4位 |
SMALLINT | -2^15 至 2^15 -1 |
2位 |
TINYINT | 0 至 255 |
1位 |
最好使用可以可靠地包含所有可能值的最小整數數據類型。 例如,要存儲一個家庭中的孩子數量,TINYINT
類型就足夠了,因為現在沒有人可以擁有超過255
個孩子。 然而,TINYINT
不足以存儲建築物數量,因為建築物數量可以有超過255
個。
SQL Server整型示例
以下語句創建一個由四個整數列組成的新表:
CREATE TABLE test.sql_server_integers (
bigint_col bigint,
int_col INT,
smallint_col SMALLINT,
tinyint_col tinyint
);
以下INSERT語句將:BIGINT
,INT
,SMALLINT
和TINYINT
數據類型的最大整數添加到表的相應列:
INSERT INTO test.sql_server_integers (
bigint_col,
int_col,
smallint_col,
tinyint_col
)VALUES(
9223372036854775807,
2147483647,
32767,
255
);
要顯示存儲在test.sql_server_integers
表中的值,請使用以下SELECT
語句:
SELECT
bigint_col,
int_col,
smallint_col,
tinyint_col
FROM
test.sql_server_integers;
轉換整數數據
SQL Server中將2,147,483,647
的整數常量轉換為DECIMAL
數據類型,而不是BIGINT
數據類型,如以下示例所示:
SELECT 2147483647 / 3 AS r1,
2147483649 / 3 AS r2;
查詢示例顯示超過閾值時,結果的數據類型從INT
更改為DECIMAL。
在本教學中,學習了各種SQL Server整數數據類型以及如何使用它們在資料庫中存儲整數。
上一篇:
SQL Server數據類型
下一篇:
SQL Server數據定義