如:select * from A 其中有一个列不需要,又不想一个个的列出列名

解决方案 »

  1.   

    循环这个select name from syscolumns where id=object_id('A')
      

  2.   

    declare @col varchar(200)select @col=isnull(@col+',','select ')+quotename(column_name) from INFORMATION_SCHEMA.COLUMNS 
    where table_NAME='A' and column_name!='COL'--去除的那列
    select @col+' from A'
      

  3.   

    DECLARE @s VARCHAR(8000)
    SELECT @s = ISNULL(@s+',', '')+QUOTENAME(name) 
    FROM syscolumns
    WHERE id = OBJECT_ID('tb')
    AND name<>'id'
    EXEC ('SELECT '+@s+' FROM tb')
    /*
    time                    num
    ----------------------- -----------
    2010-01-01 00:00:56.000 20
    2010-01-01 00:00:59.000 10
    2010-01-01 00:01:02.000 20
    2010-01-01 00:01:12.000 23(4 行受影响)
    */
     
      

  4.   

    几十列以上可以这么写
    或者直接右键编写脚本---SELECT到新窗口