sql-server-2012 - sql-server - sql server 互換性レベル 確認 - SQL Serverのテーブルに列が存在するかどうかを確認する方法は?

sql server 互換性レベル 上げる メリット / sql-server / sql-server-2008 / tsql / sql-server-2016

特定の列が存在しない場合に、その列を追加する必要があります。以下のようなものがありますが、常にfalseを返します。

IF EXISTS(SELECT *
          FROM   INFORMATION_SCHEMA.COLUMNS
          WHERE  TABLE_NAME = 'myTableName'
                 AND COLUMN_NAME = 'myColumnName') 

Rann Lifshitz



Answer #1
IF NOT EXISTS ( SELECT  *
            FROM    syscolumns
            WHERE   id = OBJECT_ID('Client')
                    AND name = 'Name' ) 
ALTER TABLE Client
ADD Name VARCHAR(64) NULL