我需要使用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)
我需要尽快回答我的问题。
以下链接描述了两种解决方案:基于变量的列别名
第一个解决方案:
使用sp_executesql执行查询
SET @column_alias = 'new_title'
SET @sql = ‘SELECT keycol, datacol AS ‘ + @column_alias + ‘ FROM Foo’
EXEC sp_executesql @sql
第二种解决方案:在执行查询后重命名该列
INSERT INTO Results SELECT keycol, datacol FROM Foo EXEC sp_rename 'Results.datacol', @column_alias, 'COLUMN'