問題

列があるかどうかを確認できるようにしたいのですが、そうでない場合は空の列を追加するだけです。

     IF Users.[parties] = '' OR NULL
        BEGIN
            SELECT [parties] 
            FROM Users 
            UNION 
            SELECT 'Empty'
        END
 

Users.[parties]、列があるかどうかを確認しますが、そうでなければクラッシュします。このイベントの場合、Emptyの名前の空の列を追加するのが最善だと思いましたが、上記のコードを取得できません。

列がある場合、結果は次のようになります...

 ColumnsName    ColumnAge
data             33
data             22
 

しかし、列がないとクラッシュし、理想的にはこのような空の列を持つようにしたいと思います。

 EmptyColumn
 

  ベストアンサー

以下のコードは、テーブルに列が存在するかどうかをチェックします。この場合、列の名前はcolumnNameで、テーブルの名前はtableNameです。

 IF COL_LENGTH('schemaName.tableName', 'columnName') IS NOT NULL
    BEGIN
        -- Column exists
       SELECT [parties] FROM Users
    END
ELSE 
    BEGIN
        -- Column does not exists
        SELECT 'Empty'[parties]
    END
 

  同じタグがついた質問を見る

sqlsql-server