sys.columns (Transact-SQL)
更新: 2006 年 4 月 14 日
針對具有資料行之物件 (例如檢視或資料表) 的每個資料行,各傳回一個資料列。下面是具有資料行的物件類型清單:
- 資料表值組件函數 (FT)
- 內嵌資料表值 SQL 函數 (IF)
- 內部資料表 (IT)
- 系統資料表 (S)
- 資料表值 SQL 函數 (TF)
- 使用者資料表 (U)
- 檢視 (V)
資料行名稱 | 資料類型 | 描述 |
---|---|---|
object_id |
int |
這個資料行所屬的物件識別碼。 |
name |
sysname |
資料行的名稱。在物件中,這是唯一的。 |
column_id |
int |
資料行的識別碼。在物件中,這是唯一的。 資料行識別碼不一定會循序排列。 |
system_type_id |
tinyint |
資料行的系統類型識別碼。 |
user_type_id |
int |
使用者所定義的資料行類型識別碼。 若要傳回類型的名稱,請聯結此資料行上的 sys.types 目錄檢視。 |
max_length |
smallint |
資料行的最大長度 (以位元組為單位)。 -1 = 資料行資料類型是 varchar(max)、nvarchar(max)、varbinary(max) 或 xml。 如果是 text 資料行,max_length 值就是 16,或是由 sp_tableoption'text in row' 所設定的值。 |
precision |
tinyint |
如果是以數值為基礎,便是資料行的有效位數;否則,便是 0。 |
scale |
tinyint |
如果是以數值為基礎,便是資料行的小數位數;否則,便是 0。 |
collation_name |
sysname |
如果是以字元為基礎,便是資料行的定序名稱;否則,便是 NULL。 |
is_nullable |
bit |
1 = 資料行可為 Null。 |
is_ansi_padded |
bit |
1 = 如果是字元、二進位或變數,則資料行會使用 ANSI_PADDING ON 行為。 0 = 資料行不是字元、二進位或變數。 |
is_rowguidcol |
bit |
1 = 資料行是已宣告的 ROWGUIDCOL。 |
is_identity |
bit |
1 = 資料行有識別值 |
is_computed |
bit |
1 = 資料行是一個計算資料行。 |
is_filestream |
bit |
保留供日後使用。 |
is_replicated |
bit |
1 = 資料行已被複寫。 |
is_non_sql_subscribed |
bit |
1 = 資料行有非 SQL Server 的訂閱者。 |
is_merge_published |
bit |
1 = 資料行已經合併發行。 |
is_dts_replicated |
bit |
1 = 資料行是利用 SQL Server 2005 Integration Services (SSIS) 加以複寫。 |
is_xml_document |
bit |
1 = 內容是完整的 XML 文件集。 0 = 內容是文件片段,或者資料行資料類型不是 xml。 |
xml_collection_id |
int |
如果資料行的資料類型是 xml,且 XML 具備類型,便是非零。這個值是包含資料行的驗證 XML 結構描述命名空間之集合的識別碼。 0 = 沒有 XML 結構描述集合。 |
default_object_id |
int |
預設物件的識別碼,無論它是獨立物件 sys.sp_bindefault 或是內嵌、資料行層級 DEFAULT 條件約束都一樣。內嵌資料行層級預設物件的 parent_object_id 資料行,就是資料表本身的參考。 0 = 沒有預設值。 |
rule_object_id |
int |
獨立規則的識別碼,這個規則是利用 sys.sp_bindrule 與資料行繫結。 0 = 沒有獨立規則。如果是資料行層級 CHECK 條件約束,請參閱<sys.check_constraints (Transact-SQL)>。 |
請參閱
參考
系統檢視 (Transact-SQL)
物件目錄檢視 (Transact-SQL)
目錄檢視 (Transact-SQL)
sys.all_columns (Transact-SQL)
sys.system_columns (Transact-SQL)
其他資源
查詢 SQL Server 系統目錄 FAQ
實作使用者自訂類型
說明及資訊
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2006 年 4 月 14 日 |
|