sys.columns (Transact-SQL)

ビューやテーブルなど、列を持つオブジェクトの列ごとに 1 行のデータを返します。以下に、列を持つオブジェクトの種類の一覧を示します。

  • テーブル値アセンブリ関数 (FT)

  • インライン テーブル値 SQL 関数 (IF)

  • 内部テーブル (IT)

  • システム テーブル (S)

  • テーブル値 SQL 関数 (TF)

  • ユーザー テーブル (U)

  • ビュー (V)

列名

データ型

説明

object_id

int

この列が所属するオブジェクトの ID です。

name

sysname

列の名前です。オブジェクト内で一意です。

column_id

int

列の ID です。オブジェクト内で一意です。

列 ID は連続した値にならないことがあります。

system_type_id

tinyint

列のシステム型の ID です。

user_type_id

int

ユーザーが定義した列の型の ID です。

型の名前を取得するには、この列で sys.types カタログ ビューに結合します。

max_length

smallint

列の最大長 (バイト単位) です。

-1 = 列のデータ型は、varchar(max)、nvarchar(max)、varbinary(max)、または xml です。

text 列の場合、max_length の値は 16 か、sp_tableoption の 'text in row' によって設定された値になります。

precision

tinyint

数値ベースの場合は、列の有効桁数です。それ以外の場合は、0 です。

scale

tinyint

数値ベースの場合は、列の小数点以下桁数です。それ以外の場合は、0 です。

collation_name

sysname

文字ベースの場合は、列の照合順序の名前です。それ以外の場合は、NULL です。

is_nullable

bit

1 = 列で NULL 値を使用できます。

is_ansi_padded

bit

1 = 文字、バイナリ、またはバリアントの場合、列で ANSI_PADDING ON 動作を使用します。

0 = 列は文字、バイナリ、またはバリアントではありません。

is_rowguidcol

bit

1 = 列は宣言された ROWGUIDCOL です。

is_identity

bit

1 = 列は ID 値を保持しています。

is_computed

bit

1 = 列は計算列です。

is_filestream

bit

1 = 列は FILESTREAM 列です。

is_replicated

bit

1 = 列はレプリケートされています。

is_non_sql_subscribed

bit

1 = 列は SQL Server 以外のサブスクライバを持ちます。

is_merge_published

bit

1 = 列はマージ パブリッシュされています。

is_dts_replicated

bit

1 = 列は SSIS を使用してレプリケートされています。

is_xml_document

bit

1 = 内容が完全な XML ドキュメントです。

0 = 内容がドキュメントの一部であるか、列のデータ型が xml ではありません。

xml_collection_id

int

列のデータ型が xml で XML が型指定されている場合は、ゼロ以外の値です。この値は、列の検証 XML スキーマ名前空間を含むコレクションの ID です。

0 = XML スキーマ コレクションはありません。

default_object_id

int

既定のオブジェクトの ID です。スタンドアロン オブジェクト sys.sp_bindefault であるか、またはインラインの列レベルの DEFAULT 制約であるかは関係ありません。インラインの列レベルの既定のオブジェクトの parent_object_id 列は、テーブル自体への参照です。

0 = 既定値はありません。

rule_object_id

int

sys.sp_bindrule を使用して列にバインドするスタンドアロン ルールの ID です。

0 = スタンドアロン ルールはありません。列レベルの CHECK 制約については、「sys.check_constraints (Transact-SQL)」を参照してください。

is_sparse

bit

1 = 列はスパース列です。詳細については、「スパース列の使用」を参照してください。

is_column_set

bit

1 = 列は列セットです。詳細については、「スパース列の使用」を参照してください。

権限

SQL Server 2005 以降のバージョンでは、カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。詳細については、「メタデータ表示の構成」を参照してください。