COLUMNS (Transact-SQL)

適用対象: はいSQL Server (サポートされているすべてのバージョン) はいAzure SQL データベース はいAzure SQL Managed Instance はいAzure Synapse Analytics はいParallel Data Warehouse

現在のデータベースの現在のユーザーがアクセスできる列ごとに 1 行を返します。

これらのビューから情報を取得するには、 の完全修飾名を指定 INFORMATION_SCHEMA.view_name。

列名 データ型 説明
TABLE_CATALOG nvarchar( 128 ) テーブル修飾子。
TABLE_SCHEMA nvarchar( 128 ) テーブルを含むスキーマの名前。

** 重要な ** オブジェクトのスキーマをINFORMATION_SCHEMAビューを使用しない。 INFORMATION_SCHEMAビューは、オブジェクトのメタデータのサブセットのみを表します。 オブジェクトのスキーマを調べる唯一の信頼性のある方法は、sys.objects カタログ ビューに対するクエリを実行する方法です。
TABLE_NAME nvarchar( 128 ) テーブル名。
COLUMN_NAME nvarchar( 128 ) 列名。
ORDINAL_POSITION int 列の識別番号。
COLUMN_DEFAULT nvarchar( 4000 ) 列の既定値です。
IS_NULLABLE varchar( 3 ) 列に NULL 値が許容されるかどうかを指定します。 この列で NULL が許可されている場合、この列は YES を返します。 その他の場合は NO が返されます。
DATA_TYPE nvarchar( 128 ) システムにより提供されるデータ型。
CHARACTER_MAXIMUM_LENGTH int バイナリ データ、文字データ、またはテキストおよびイメージ データの最大文字列長。

xml 型データと 大きな値 型データの場合は -1。 その他の場合は NULL が返されます。 詳細については、「データ型 (Transact-SQL)」を参照してください。
CHARACTER_OCTET_LENGTH int バイナリ データ、文字データ、またはテキストおよびイメージ データの最大バイト長。

xml 型データと 大きな値 型データの場合は -1。 その他の場合は NULL が返されます。
NUMERIC_PRECISION tinyint 数値データの概数、正確な数値データ、整数データ、または通貨データの有効桁数。 その他の場合は NULL が返されます。
NUMERIC_PRECISION_RADIX smallint 数値データの概数、正確な数値データ、整数データ、または通貨データの有効桁数の基数。 その他の場合は NULL が返されます。
NUMERIC_SCALE int 数値データの概数、正確な数値データ、整数データ、または通貨データの桁数。 その他の場合は NULL が返されます。
DATETIME_PRECISION smallint datetime データ型と ISO 間隔データのサブ タイプ コード。 その他のデータ型に対しては NULL が返されます。
CHARACTER_SET_CATALOG nvarchar( 128 ) マスター を 返します。 これは、列が文字データ型またはテキスト データ型の場合に、文字セットが含まれる データベースを 示します。 その他の場合は NULL が返されます。
CHARACTER_SET_SCHEMA nvarchar( 128 ) 常に NULL が返されます。
CHARACTER_SET_NAME nvarchar( 128 ) この列が文字データ型またはテキスト データ型の場合は、文字セットの一意 の名前を 返します。 その他の場合は NULL が返されます。
COLLATION_CATALOG nvarchar( 128 ) 常に NULL が返されます。
COLLATION_SCHEMA nvarchar( 128 ) 常に NULL が返されます。
COLLATION_NAME nvarchar( 128 ) 列が文字データ型またはテキスト データ型の場合は、照合順序の一意 の名前を 返します。 その他の場合は NULL が返されます。
DOMAIN_CATALOG nvarchar( 128 ) 列が別名データ型の場合、この列はユーザー定義データ型が作成されたデータベース名です。 その他の場合は NULL が返されます。
DOMAIN_SCHEMA nvarchar( 128 ) 列がユーザー定義データ型の場合、この列はユーザー定義データ型のスキーマの名前を返します。 その他の場合は NULL が返されます。

** 重要な ** データ型のINFORMATION_SCHEMAを決定するために、データ ビューを使用しない。 型のスキーマを検索する唯一の信頼できる方法は、TYPEPROPERTY 関数を使用する方法です。
DOMAIN_NAME nvarchar( 128 ) 列がユーザー定義データ型の場合、この列はユーザー定義データ型の名前です。 その他の場合は NULL が返されます。

解説

ORDINAL_POSITION 列の INFORMATION_SCHEMA。COLUMNS ビューは、関数によって返される列のビット パターンCOLUMNS_UPDATEDできません。 COLUMNS_UPDATED と互換性のあるビット パターンを取得するには、クエリを実行するときに COLUMNPROPERTY システム関数の ColumnID プロパティを参照 INFORMATION_SCHEMA。[列 ] ビュー。 次に例を示します。

USE AdventureWorks2012;  
GO  
SELECT TABLE_NAME, COLUMN_NAME, COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), COLUMN_NAME, 'ColumnID') AS COLUMN_ID  
FROM AdventureWorks2012.INFORMATION_SCHEMA.COLUMNS  
WHERE TABLE_NAME = 'Person';  
GO  

参照

システム ビュー(Transact-SQL)
Transact-(の情報スキーマ ビュー SQL)
sys.syscharsets (Transact-SQL)
sys.columns (Transact-SQL)
sys.sql_modules (Transact-SQL)
sys.configurations (Transact-SQL)
sys.objects (Transact-SQL)
sys.types (Transact-SQL)
COLUMNS_UPDATED (Transact-SQL)