COL_LENGTH (Transact-SQL)
適用於:SQL Server Azure SQL 資料庫 Azure 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)