如:第二列列名为:name
怎样不用name而用列序号来搜索该列的值?

解决方案 »

  1.   

    create table test
    (
    id int,
    name char(1)
    )
    insert into test
    select 1,'a' union all
    select 2,'b' union all
    select 3,'c'
    declare @sql varchar(8000)select @sql='select '+name+' from test' from syscolumns where id=object_id('test') and colid=2exec (@sql)/*
    name 
    ---- 
    a
    b
    c*/
      

  2.   

    Create Function F_ColumnOrder(@TableName Varchar(10),@Colid Int)
    Returns Table
    As
    Return
    Select Name From SysColumns
    Where ID=Object_ID(@TableName) And Colid=@Colid
    --Try
    Select * From Dbo.F_ColumnOrder('Users',2)
      

  3.   

    select count(2) as '列名' from 表