,SQL2005存储过程,怎么按给出条件查询

求助,SQL2005存储过程,如何按给出条件查询
我要写一个存储过称实现以下功能,
举个例子,现有一个参数  @Type  值为1或2
表Table1中有五列,col1, col2, col3, col4, col5

我要的查询结果只有三列,col1  col2  col3
要求的这样的:
select col1,col2,col3 from Table1

当@Type=1时,col2列的值为col4列的值,但列名不变
当@Type=2时,col2列的值为col5列的值,列名也不变

请教下,这样该怎么写?  
------解决方案--------------------
select col1,
case when @type=1 then col4
         when @type=2 then col5 else null end,col3
from table1