日期:2014-05-18  浏览次数:20413 次

如何根据输入的参数 确定 列 的显示
比如   我输入   是2006年3月     @time   为 '2006-3 '
程序要实现这样的  
我知道这样写明显是不对的
      select   substring(@time,6,len(@time))月=value,   name     from   table   where   time=@time
      我想显示      
        3月             name
      22.8万         公司1
      20万             公司2
可找不到适合的方案   在列中不能赋值吗


------解决方案--------------------
declare @time varchar(20)
set @time= '2006-3 '
select stuff(@time, 1, 5 , '[ ')+ '月] '=value, name from table where time=@time
------解决方案--------------------
declare @time varchar(20)
declare @month varchar(10)
declare @sql varchar(1000)
set @time= '1998-01 '
set @month=substring(@time,6,len(@time))
print @month
set @sql= 'select value as ' ' '+@month+ ' ' ',name from table where convert(varchar(20),time,120)= ' ' '+@time+ ' ' ' '
exec (@sql)