我正在閱讀exec sp_columns命令的輸出,有 2 列我無法理解PRECISION并且LENGTH
我剛剛創建了下表
如果我沒記錯的話,該quantity列是數值INTENGER資料型別,也就是說,該列可以存盤一個介于-2,147,483,648和之間的數字2,147,483,647
這個資訊是正確的吧?
但如果我執行
exec sp_columns Books;
Precision:我認為是該列允許的字符數,即-2.1m和 2.1m之間最多10個字符
但我不明白為什么LENGTH專欄說 4。
CREATE TABLE Books
(
title VARCHAR(10), -- Maximum length up to 10 characters example 'ABCDFGHIJK'
author VARCHAR(10),-- Maximum length up to 10 characters example 'ABCDFGHIJK'
quantity INTEGER -- ?
);
exec sp_columns Books;
INSERT INTO Prueba.dbo.Books
(title,author,quantity)
VALUES
('Example A', 'A', 1),
('Example B', 'B', 12),
('Example C', 'C', 123),
('Example D', 'D', 123467890),
('Example E', 'E', 1234678901);

uj5u.com熱心網友回復:
什么LENGTH代表它在檔案中定義:
列名 資料型別 說明 長度 整數 傳輸資料的大小。1 1有關詳細資訊,請參閱 Microsoft ODBC 檔案*。
*該檔案不包含他們具體表示的 Microsoft ODBC 檔案的鏈接,因此不是我的遺漏
Anint的大小為 4 個位元組,因此該列在LENGTH中4定義了a sys.sp_columns。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/483660.html
上一篇:如何正確設定表的主鍵?
下一篇:從PIVOT添加其他列的SUM列
