COLUMNS (Transact-SQL)
現在のデータベースの現在のユーザーがアクセスできる列ごとに 1 行のデータを返します。
このビューから情報を取得するには、INFORMATION_SCHEMA.view_name の完全修飾名を指定します。
列名 |
データ型 |
説明 |
---|---|---|
TABLE_CATALOG |
nvarchar(128) |
テーブル修飾子。 |
TABLE_SCHEMA |
nvarchar(128) |
テーブルを含むスキーマの名前。
重要
オブジェクトのスキーマを判定するのに INFORMATION_SCHEMA ビューを使用しないでください。オブジェクトのスキーマを調べる唯一の信頼性のある方法は、sys.objects カタログ ビューに対するクエリを実行する方法です。
|
TABLE_NAME |
nvarchar(128) |
テーブル名。 |
COLUMN_NAME |
nvarchar(128) |
列名。 |
ORDINAL_POSITION |
int |
列の識別番号。 |
COLUMN_DEFAULT |
nvarchar(4000) |
列の既定値。 SQL Server 2008 では、SQL 式をデコードしてカタログ メタデータに格納する方法が SQL Server 2000 と異なります。デコードされた式のセマンティクスは元のテキストと同じですが、構文も同じであるとは限りません。たとえば、デコードされた式からは空白文字が削除されます。詳細については、「SQL Server 2008 R2 におけるデータベース エンジン機能の動作の変更」を参照してください。 |
IS_NULLABLE |
varchar(3) |
列の 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 関数によって返される列のビット パターンと互換性がありません。COLUMN_UPDATED と互換性があるビット パターンを取得するには、INFORMATION_SCHEMA.COLUMNS ビューをクエリするときに、COLUMNPROPERTY システム関数の ColumnID プロパティを参照する必要があります。次に例を示します。
USE AdventureWorks2008R2;
GO
SELECT TABLE_NAME, COLUMN_NAME, COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), COLUMN_NAME, 'ColumnID') AS COLUMN_ID
FROM AdventureWorks2008R2.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Person';
GO