COLUMNS (Transact-SQL)
適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric の SQL エンドポイント
Microsoft Fabric のウェアハウス
現在のデータベースで現在のユーザーがアクセスできる列ごとに 1 行を返します。
これらのビューから情報を取得するには、INFORMATION_SCHEMA.<ビュー名> という完全修飾名を指定します。ビュー名>
列名 | データ型 | 説明 |
---|---|---|
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 interval データ型のサブタイプ コード。 その他のデータ型に対しては NULL が返されます。 |
CHARACTER_SET_CATALOG | nvarchar(128) | master を返します。 列が文字データまたは text データ型の場合、これは文字セットが配置されているデータベースを表します。 その他の場合は NULL が返されます。 |
CHARACTER_SET_SCHEMA | nvarchar(128) | 常に NULL が返されます。 |
CHARACTER_SET_NAME | nvarchar(128) | この列が文字データ型または text データ型である場合、文字セットの一意の名前が返されます。 その他の場合は NULL が返されます。 |
COLLATION_CATALOG | nvarchar(128) | 常に NULL が返されます。 |
COLLATION_SCHEMA | nvarchar(128) | 常に NULL が返されます。 |
COLLATION_NAME | nvarchar(128) | 列が文字データ型または text データ型である場合、照合順序の一意の名前が返されます。 その他の場合は NULL が返されます。 |
DOMAIN_CATALOG | nvarchar(128) | 列が別名データ型の場合、この列はユーザー定義データ型が作成されたデータベース名です。 その他の場合は NULL が返されます。 |
DOMAIN_SCHEMA | nvarchar(128) | 列がユーザー定義データ型の場合、この列はユーザー定義データ型のスキーマの名前を返します。 その他の場合は NULL が返されます。 重要: データ型のスキーマを決定するために、INFORMATION_SCHEMA ビューを使わないでください。 型のスキーマを調べるための信頼できる唯一の方法は、TYPEPROPERTY 関数を使うことです。 |
DOMAIN_NAME | nvarchar(128) | 列がユーザー定義データ型の場合、この列はユーザー定義データ型の名前です。 その他の場合は NULL が返されます。 |
解説
INFORMATION_SCHEMA.COLUMNS ビューの ORDINAL_POSITION 列には、COLUMNS_UPDATED 関数から返される列のビット パターンとの互換性がありません。 COLUMNS_UPDATED と互換性があるビット パターンを取得するには、INFORMATION_SCHEMA.COLUMNS ビューをクエリするときに、COLUMNPROPERTY システム関数の ColumnID プロパティを参照する必要があります。 次に例を示します。
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