The Wayback Machine - http://web.archive.org/web/20140105220310/http://msdn.microsoft.com:80/zh-tw/library/ms174968(v=sql.90).aspx
匯出 (0) 列印
全部展開
Expand Minimize
本主題尚未接受評分 - 為這個主題評分

COLUMNPROPERTY (Transact-SQL)

更新: 2006 年 7 月 17 日

傳回資料行或程序參數的相關資訊。

主題連結圖示 Transact-SQL 語法慣例


COLUMNPROPERTY ( id , column , property ) 
id

這是包含資料表或處理序識別碼的運算式。

column

這是包含資料行或參數名稱的運算式。

property

這是包含將傳回之 id 資訊的運算式,它可以是下列值之一。

值 描述 傳回的值

AllowsNull

允許 Null 值。

1 = TRUE

0 = FALSE

NULL = 輸入無效。

ColumnId

對應於 sys.columns.column_id 的資料行識別碼值。

資料行識別碼

當查詢多個資料行時,資料行識別碼值順序可能會有間距。
ms174968.note(zh-tw,SQL.90).gif附註:

FullTextTypeColumn

在資料表中,用來保留 column 文件類型資訊的 TYPE COLUMN。

這個屬性的第二個參數所傳遞的資料行全文檢索 TYPE COLUMN 識別碼。

IsComputed

資料行是一個計算資料行。

1 = TRUE

0 = FALSE

NULL = 輸入無效。

IsCursorType

程序參數的類型是 CURSOR。

1 = TRUE

0 = FALSE

NULL = 輸入無效。

IsDeterministic

資料行具有決定性。這個屬性只適用於計算資料行和檢視資料行。

1 = TRUE

0 = FALSE

NULL = 輸入無效。不是計算資料行或檢視資料行。

IsFulltextIndexed

資料行已完成全文檢索索引的登錄。

1 = TRUE

0 = FALSE

NULL = 輸入無效。

IsIdentity

資料行使用 IDENTITY 屬性。

1 = TRUE

0 = FALSE NULL = 輸入無效。

IsIdNotForRepl

資料行會檢查 IDENTITY_INSERT 設定。如果未指定 IDENTITY NOT FOR REPLICATION,就不會檢查 IDENTITY_INSERT 設定。

1 = TRUE

0 = FALSE

NULL = 輸入無效。

IsIndexable

資料行可以建立索引。

1 = TRUE

0 = FALSE

NULL = 輸入無效。

IsOutParam

程序參數是一個輸出參數。

1 = TRUE

0 = FALSE NULL = 輸入無效。

IsPrecise

資料行是精確的。這個屬性只適用於具決定性的資料行。

1 = TRUE

0 = FALSE NULL = 輸入無效。不是具決定性的資料行

IsRowGuidCol

資料行有 uniqueidentifier 資料類型,它是用 ROWGUIDCOL 屬性來定義的。

1 = TRUE

0 = FALSE

NULL = 輸入無效。

IsSystemVerified

您可以利用 SQL Server 2005 Database Engine 來驗證資料行的決定性和有效位數屬性。這個屬性只適用於計算資料行和檢視資料行。

1 = TRUE

0 = FALSE

NULL = 輸入無效。

IsXmlIndexable

XML 資料行可用於 XML 索引中

1 = TRUE

0 = FALSE

NULL = 輸入無效。

Precision

資料行或參數的資料類型長度。

指定的資料行資料類型長度

-1 = xml 或大數值類型

NULL = 輸入無效。

Scale

資料行或參數的資料類型小數位數。

小數位數

NULL = 輸入無效。

SystemDataAccess

資料行是從存取 SQL Server 系統目錄或虛擬系統資料表中之資料的函數衍生而來。這個屬性只適用於計算資料行和檢視資料行。

1 = TRUE (表示唯讀存取。)

0 = FALSE

NULL = 輸入無效。

UserDataAccess

資料行是從存取 SQL Server 本機執行個體所儲存的使用者資料表 (包括檢視和暫存資料表) 中之資料的函數衍生而來。這個屬性只適用於計算資料行和檢視資料行。

1 = TRUE (表示唯讀存取。)

0 = FALSE

NULL = 輸入無效。

UsesAnsiTrim

在最初建立資料表時,ANSI_PADDING 設為 ON。這個屬性只適用於 char 或 varchar 類型的資料行或參數。

1= TRUE

0= FALSE

NULL = 輸入無效。

當發生錯誤,或呼叫者沒有檢視物件的權限時,便會傳回 NULL。

在 SQL Server 2005 中,使用者只能檢視使用者擁有或被授與某些權限之安全性實體的中繼資料。這表示發出中繼資料的內建函數 (例如,COLUMNPROPERTY) 會在使用者不具有該物件任何權限時傳回 NULL。如需詳細資訊,請參閱<中繼資料可見性組態>和<中繼資料可見性疑難排解>。

當您檢查資料行的決定性屬性時,請先測試資料行是否為計算資料行。如果是非計算資料行,IsDeterministic 會傳回 NULL。您可以將計算資料行指定成索引資料行。

下列範例會傳回 LastName 資料行的長度。

USE AdventureWorks;
GO
SELECT COLUMNPROPERTY( OBJECT_ID('Person.Contact'),'LastName','PRECISION')AS 'Column Length';
GO

以下為結果集:

Column Length 
------------- 
50

(1 row(s) affected)

版本 歷程記錄

2006 年 7 月 17 日

新增內容:
  • 加入「例外狀況」一節。
本文對您有任何幫助嗎?
(剩餘 1500 個字元)

社群新增項目

新增
Image
Microsoft 正展開一份線上問卷調查,了解您對於 MSDN 網站的看法。 如果您選擇參加,您離開 MSDN 網站時即會顯示線上問卷調查。

您是否想要參加?
顯示:
© 2014 Microsoft. 著作權所有,並保留一切權利。