COL_LENGTH (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

この関数は、定義されている列の長さをバイト単位で返します。

Transact-SQL 構文表記規則

構文

COL_LENGTH ( 'table' , 'column' )   

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

'table'
列の長さ情報を定義するテーブルの名前。 テーブル 型の式は、 nvarcharです。

'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)