次の方法で共有


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.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 interval データ型のサブタイプ コード。 その他のデータ型に対しては NULL が返されます。
CHARACTER_SET_CATALOG nvarchar(128) マスター返します。 これは、列が文字データまたは 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のORDINAL_POSITION列。COLUMNS ビューは、COLUMNS_UPDATED関数によって返される列のビット パターンと互換性がありません。 COLUMNS_UPDATEDと互換性のあるビット パターンを取得するには、INFORMATION_SCHEMAのクエリを実行するときに COLUMNPROPERTY システム関数の ColumnID プロパティを参照する必要があります。COLUMNS ビュー。 次に例を示します。

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

参照