如何将列别名设置为SQL查询的结果?

时间:2016-06-21 20:46:04

标签: sql alias

我需要使用SQL查询的结果来设置列别名。请参阅下面的脚本以及我需要将其用作列别名的脚本结果。

select 
   convert(varchar,DATEADD(month, -12, dateadd(d,-day(convert(date,dateadd(d,-(day(getdate())),getdate()))),convert(date,dateadd(d,+1-(day(getdate())),getdate())))),107),
   convert(varchar,convert(date,dateadd(d,-day(convert(date,dateadd(d,-(day(getdate())),getdate()))),convert(date,dateadd(d,+1-(day(getdate())),getdate())))),107)

我需要尽快回答我的问题。

1 个答案:

答案 0 :(得分:0)

以下链接描述了两种解决方案:Column alias based on variable

第一个解决方案:

  1. 在变量中设置别名
  2. 将查询定义为包含对变量的引用的nvarchar。
  3. 使用sp_executesql执行查询

    SET @column_alias = 'new_title'
    SET @sql = 'SELECT keycol, datacol AS ' + @column_alias + ' FROM Foo'
    
    EXEC sp_executesql @sql
    
  4. 第二个解决方案:在执行查询后重命名该列

        INSERT INTO Results
        SELECT keycol, datacol
        FROM Foo
    
        EXEC sp_rename 'Results.datacol', @column_alias, 'COLUMN'