SQL——Sql_Server中如何判断表中某列是否存在

--比如说要判断表A中的字段C是否存在两个方法:
--一,
IF EXISTS (
 SELECT 1 FROM SYSOBJECTS T1
  INNER JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID
 WHERE T1.NAME='A' AND T2.NAME='C'
 )
 PRINT '存在'
  ELSE
 PRINT '不存在'
 
--二, 短小精悍,可谓精典
IF COL_LENGTH('A', 'C') IS NOT NULL
    PRINT N'存在'
ELSE
    PRINT N'不存在'

方法一: select   *   from   syscolumns   where   id=object_id('表名')   and   name='列名' 说明:存在则返回此列的一条说明记录,不存在返回空; 方法二: select   count(*)   from   sysobjects   a,syscolumns   b  where a.id=b.id  and  b.name='flag1'  and a.type='u'   and   a.name='T_Pro_ProductClass' 说明:存在返回1,不存在则返回0

你可能感兴趣的:(SQL,Server)