SQLServer 基礎

[SQLServer] テーブル名からカラム名を取得する

SQLServerでテーブル名からカラム名を取得したい場合は、
INFORMATION_SCHEMA.COLUMNS を検索します。

サンプル

例)T_TESTテーブルの情報を取得する

テーブル名は大文字でも小文字でも構いません。

INFORMATION_SCHEMA.COLUMNSの内容

INFORMATION_SCHEMA.COLUMNSテーブルには下の内容を保持しています。

【INFORMATION_SCHEMA.COLUMNS】
列名意味
TABLE_CATALOGカタログ名
TABLE_SCHEMAスキーマ名
TABLE_NAMEテーブル名
COLUMN_NAME列名
ORDINAL_POSITION列順
COLUMN_DEFAULT列のデフォルト値
IS_NULLABLENOT NULLかどうか
(NO:NULL不許可 YES:NULL許可)
DATA_TYPEデータ型
CHARACTER_MAXIMUM_LENGTHデータサイズ(桁数)
CHARACTER_OCTET_LENGTHデータサイズ(バイト数)
NUMERIC_PRECISION数値データの有効桁数
※数値データ以外の場合はNULL
NUMERIC_PRECISION_RADIX数値データの有効桁数の基数
※数値データ以外の場合はNULL
NUMERIC_SCALE数値データの桁数
※数値データ以外の場合はNULL
DATETIME_PRECISION日付データの小数部の桁数
※datetime または smalldatetimeのみ
CHARACTER_SET_CATALOG文字セットのカタログ名
CHARACTER_SET_SCHEMA常にNULL
CHARACTER_SET_NAME文字セット名(例)UNICODE
COLLATION_CATALOGパラメーター照合のカタログ名
COLLATION_SCHEMA常にNULL
COLLATION_NAMEパラメーター照合の名前
DOMAIN_CATALOG別名データ型が存在するデータベース
DOMAIN_SCHEMA別名データ型を含むスキーマの名前
DOMAIN_NAMEドメイン名

備考

  • INFORMATION_SCHEMA.COLUMNSはシステム情報スキーマビューと呼ばれるテーブルで、システムの情報を保持しているビューです。

-SQLServer, 基礎
-