SQLServerでテーブルのカラム名を取得する方法

2019-10-23SQLServer

SQLServerではsys.objects, sys.columnsというシステムビューを利用するとテーブルのカラム名や属性、長さなどを取得できます。

SQLServerでテーブルのカラム名を取得する方法

SQLServerでテーブルのカラム名を取得する方法はsys.objects, sys.columnsという2つのシステムビューを利用して取得します。

実際のSQLは以下のようになります。

SELECT
     t.name                  AS テーブル名
    ,c.name                  AS 項目名
    ,type_name(user_type_id) AS 属性
    ,max_length              AS 長さ
    ,CASE WHEN is_nullable = 1 THEN 'YES' ELSE 'NO' END AS NULL許可
FROM
    sys.objects t
    INNER JOIN sys.columns c ON
        t.object_id = c.object_id
WHERE
        t.type = 'U'
    AND t.name='取得するテーブル名'
ORDER BY
    c.column_id

このSQLの「取得するテーブル名」を実際に取得したいテーブルの名前に変更して実行すると、「テーブル名」「項目名」「属性」「長さ」「NULL許可」が取得できます。

テーブル名         項目名      属性    長さ  NULL許可
取得するテーブル名 カラム1  varchar    50    YES
取得するテーブル名 カラム2  varchar    50    YES

これを利用すれば簡易的なテーブル定義書も簡単に作成することができます。

以上、SQLServerでテーブルのカラム名を取得する方法でした。

 

株式会社システムトラスト

人材募集中です。

システムトラストでは、システムエンジニア、プログラマーなどを随時募集中です。気軽にご相談ください。

お問合せ