比如数据库表tableC,我想知道这张数据库表中是否存在字段 TypeName  ?
请问这个语句应该怎么写?

解决方案 »

  1.   


    select * from sys.syscolumns where id = 
    (select object_id from sys.objects where name='table1') and name='列名'
      

  2.   

    if exists(select * from sys.columns where object_id('表名'))
    /*
    需要执行的代码
    */
      

  3.   


    select name as columnName
    from sys.columns
    where object_id=object_id('tableC')
    and name='TypeName'
      

  4.   


    if exists(select 1
              from sys.columns a
              inner join sys.tables b on a.object_id=b.object_id
              where b.name='tableC' and a.name='TypeName')
     print '存在'
    else
     print '不存在'
      

  5.   


    运行了你的这个语句,sql server 报错: 对象名 sys.syscolumns 无效
      

  6.   

    SQL2000的方法,if exists(select 1
              from syscolumns a
              inner join sysobjects b on a.id=b.id and b.xtype='U'
              where b.name='tableC' and a.name='TypeName')
     print '存在'
    else
     print '不存在'
      

  7.   


    运行了你的这个语句,sql server 报错: 对象名 sys.syscolumns 无效use table1 所在的数据库,然后在执行上面这些人的代码,比如 use master,或者在界面上选择当前数据库