プログラミング逆引き辞典

~ 多言語対応のプログラミングレシピ ~

SQL Database テーブルのカラム情報取得方法

■①テーブル名を元にプロシージャでカラム情報を取得する方法

exec sp_columns @table_name = '[テーブル名]';

 
 


■②SELECT文でカラム情報を取得する方法

-- テーブル情報取得
SELECT * FROM sys.tables WHERE name = '[テーブル名]';
-- sys.tablesの「object_id」を元にカラム情報を取得
SELECT * FROM sys.columns WHERE object_id = [object_id];

 
 


■③SELECT文でカラム情報を整形して取得する方法

SELECT
    sys_obj.name                AS テーブル名,
    sys_col.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 sys_obj
    JOIN sys.columns sys_col ON sys_obj.object_id = sys_col.object_id
WHERE
    sys_obj.name = '[テーブル名]'
ORDER BY
    sys_col.column_id
;