【SQL Server】指定したカラム名を持つテーブルの一覧を取得する

SQL Server
この記事は約2分で読めます。

指定したカラム名を持つテーブルの一覧を取得する

ER図やらなんやらテーブル設計がない場合に役立つと思います。

例えば一部の名称を持つテーブル名を検索する場合は、テーブル名に

t.name LIKE ‘%test%’

などで検索出来ます。

他には特定のフィールドをverchar(20)からverchar(50)に拡張したいけど、他の項目は大丈夫かなど調べたい時に使えます。

クエリ
SELECT
     SCHEMA_NAME(t.schema_id)  AS スキーマ名
    ,t.name                    AS テーブル名
    ,c.name                    AS 項目名
    ,type_name(c.user_type_id) AS 属性
    ,c.max_length              AS 長さ
    ,CASE WHEN c.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 = 'テーブル名'
    AND c.name = '列名'
ORDER BY
    c.column_id

 

コメント

タイトルとURLをコピーしました