分享方式:


COL_LENGTH (Transact-SQL)

適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體

此函式傳回資料行的定義長度 (以位元組為單位)。

Transact-SQL 語法慣例

語法

COL_LENGTH ( 'table' , 'column' )   

引數

' table '
我們要判斷其資料行長度資訊的資料表名稱。 table 是類型為 nvarchar 的運算式。

' column '
我們要判斷其長度的資料行名稱。 column 是類型為 nvarchar 的運算式。

傳回類型

smallint

例外狀況

發生錯誤或呼叫端沒有檢視物件的正確權限時,會傳回 NULL。

在 SQL Server 中,使用者只能檢視安全性實體的中繼資料,但前提是使用者必須是擁有者,或被授與其權限。 這表示,如果使用者沒有物件的正確權限,則發出中繼資料的內建函式 (例如 COL_LENGTH) 可能會傳回 NULL。 如需詳細資訊,請參閱中繼資料可見性設定

備註

對於使用 max 規範 (varchar(max)) 來宣告的 varchar 資料行,COL_LENGTH 會傳回值 -1。

範例

此範例顯示 varchar(40) 類型之資料行以及 nvarchar(40) 類型之資料行的傳回值:

USE AdventureWorks2022;  
GO  
CREATE TABLE t1(c1 VARCHAR(40), c2 NVARCHAR(40) );  
GO  
SELECT COL_LENGTH('t1','c1')AS 'VarChar',  
      COL_LENGTH('t1','c2')AS 'NVarChar';  
GO  
DROP TABLE t1;  

結果集如下所示。

VarChar     NVarChar  
40          80  

另請參閱

運算式 (Transact-SQL)
中繼資料函數 (Transact-SQL)
COL_NAME (Transact-SQL)
COLUMNPROPERTY (Transact-SQL)