COLUMNS (Transact-SQL)

更新 : 2006 年 7 月 17 日

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

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

列名

データ型

説明

TABLE_CATALOG

nvarchar(128)

テーブル修飾子。

TABLE_SCHEMA

nvarchar(128)

テーブルを含むスキーマの名前。

TABLE_NAME

nvarchar(128)

テーブル名。

COLUMN_NAME

nvarchar(128)

列名。

ORDINAL_POSITION

int

列の識別番号。

ms188348.note(ja-jp,SQL.90).gifメモ :

SQL Server 2005 では、列 ID は連続した番号です。

COLUMN_DEFAULT

nvarchar(4000)

列の既定値。

SQL Server 2005 では、SQL 式をデコードしてカタログ メタデータに格納する方法が SQL Server 2000 と異なります。デコードされた式のセマンティクスは元のテキストと同じですが、構文も同じであるとは限りません。たとえば、デコードされた式からは空白文字が削除されます。詳細については、「SQL Server 2005 におけるデータベース エンジン機能の動作の変更」を参照してください。

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 および SQL-92 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 が返されます。

DOMAIN_NAME

nvarchar(128)

列がクエリ アナライザの場合、この列はクエリ アナライザの名前になります。それ以外の場合は NULL が返されます。

解説

SQL Server 2005 では、INFORMATION_SCHEMA.COLUMNS ビューの ORDINAL_POSITION 列と、COLUMNS_UPDATED 関数で返される列のビット パターンとの間には互換性がありません。COLUMN_UPDATED と互換性があるビット パターンを取得するには、INFORMATION_SCHEMA.COLUMNS ビューをクエリするときに、COLUMNPROPERTY システム関数の ColumnID プロパティを参照する必要があります。次に例を示します。

USE AdventureWorks;
GO
SELECT TABLE_NAME, COLUMN_NAME, COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), COLUMN_NAME, 'ColumnID') AS COLUMN_ID
FROM AdventureWorks.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Contact';
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)

その他の技術情報

SQL Server システム カタログに対するクエリ

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 7 月 17 日

追加内容 :
  • COLUMN_DEFAULT 列に、SQL Server 2005 で SQL 式が格納される方法についての記述を追加。