declare @aa sysname
select  @aa=col_name(object_id('dbo.tablename'),2 )
SELECT @aa  FROM dbo.tablename
OK!PLS TRY

解决方案 »

  1.   

    空值确实解决了
    可是我想把字段名付给@aa
    再从table1中取出字段中的记录
    可以吗?如果可以,该如何做
     leimin(leimin)  新的问题无论是否回答
    分一定会给的
    等明天如果没有更好的回答
    就结帖给分
      

  2.   

    declare @aa sysname,@sql varchar(1000)
    set  @aa=col_name(object_id('dbo.tablename'),1)
    if @aa is not null
    exec('SELECT '+@aa+' FROM dbo.tablename')
    else
    print 'col_name not find'
      

  3.   

    我怎莫没想到!!!
    谢谢: leimin(leimin) 
           foolishchao(傻超) 
    虽然没搞懂为什莫sql 不支持
    declare @aa sysname
    select  @aa=col_name(object_id('aa..dbo.table1'),1 )
    SELECT @aa  FROM dbo.TABLE1
    这样的写法
    如果没有人就这种写法为什莫不行提出看法
    重复的回答请免
    明天我就结贴了
      

  4.   

    在sql中,例如数据库、表、视图、列等东东是不能用变量名的。如果要实现这个功能,要用动态sql等方法来解决。
      

  5.   

    在微软的教材里
    专有一节将动态生成sql语句的
    变量只能是变量不能是别的