如:表tb1中有列Column1,Column2,Column3,Column4,Column5.现在要求不显示Column4.请问应该怎么写
不要用select Column1,Column2,Column3,Column5 from tb1
就是排除某列不显示.

解决方案 »

  1.   

    为什么不用select Column1,Column2,Column3,Column5 from tb1?
      

  2.   

    没有比较直接的方法
    我写了一个比较疼的脚本:create table tb1
    (
    Column1 int null,
    Column2 int null,
    Column3 int null,
    Column4 int null,
    Column5 int null
    )declare @name varchar(max)
    declare @names varchar(max)
    set @names = ''
    declare cc cursor read_only
    for select name from (select name from sys.columns where [object_id]=object_id('dbo.tb1') and name not in ('Column4')) as a
    open cc
    fetch next from cc into @name
    while (@@fetch_status = 0)
    begin
    set @names=@names + @name + ','
    fetch next from cc into @name
    end
    close cc
    deallocate cc
    set @names=left(@names,len(@names)-1)exec('select '+@names+' from dbo.tb1')
      

  3.   

    可以考虑用视图(view),写一次就够了.create view v_tb1_noColumn4 as
      select Column1,Column2,Column3,Column5 from tb1
      

  4.   

    (唐诗三百首)  
    你这个后面写的还是有Column1,Column2,Column3,Column5啊。
      

  5.   

    是吖,说过只要写一次,后继直接 select * from v_tb1_noColumn4 就行了.
      

  6.   

    不过你可以查询的时候用文本方式显示,用逗号隔开,然后复制一下,再把column4给去掉,也很方便