结果看起来像这样,但是列名称“今天”我希望它是今天的日期。
答案 0 :(得分:3)
尝试这种技巧:
declare @dt datetime
declare @sql varchar(100)
set @dt = getdate()
set @sql = 'select 1 as [ ' + convert( varchar(25),@dt,120) + ']'
exec (@sql)
在你的案例中:
declare @dt datetime
declare @sql varchar(100)
set @dt = getdate()
set @sql = 'select 0 as [ ' + convert( varchar(25),@dt,120) + ']'
exec (@sql)
答案 1 :(得分:0)
我会返回一个表示日偏移量的整数,并在客户端中解析它,如果你不得不使用动态SQL或者使用基础列名本身;;
declare @sql nvarchar(128) = '
select
col1,
col2,
0 as [' + cast(getdate() as nvarchar(32)) + ']
from T'
exec(@sql)
或者
--today
declare @now varchar(32) = cast(getdate() as varchar(32))
--result to temp table
select col1, col2, 0 as [Now] into #T from TheTable
--rename col
exec tempdb..sp_rename '#T.Now', @now, 'COLUMN'
--select
select * from #T