--> 测试数据: s
create table s(col1 datetime,col2 varchar(3))
insert into s
select '2008-12-10','1-d' union all
select '2008-01-10','1-q' union all
select '2009-10-10','2-w'
declare @sql varchar(8000)
select @sql=isnull(@sql+' union all ','')+'select '''+convert(varchar(10),col1,120)+'''col1,'''+col2+'''col2,
值=dateadd('+substring(col2,charindex('-',col2)+1,len(col2))+','+left(col2,charindex('-',col2)-1)+' ,'''+convert(varchar(10),col1,120)+''')' from s
exec(@sql)