2012-03-15 3 views

답변

1

확실히. 여기서, #test이 경우 문이 'F'로 시작하는 값을 각 항목에 전에 *을 추가하는 경우, #testnew에 복사되는 :

create table #test(id int, item1 varchar(10), item2 varchar(10)) 
insert into #test values(1,'foo','bar') 
, (2,'fud','fudge') 
go 

select t.id 
, item1=case when left(item1,1)='f' then '*'+item1 else item1 end 
, item2=case when left(item2,1)='f' then '*'+item2 else item2 end 
into #testnew 
from #test t 
go 

select * from #testnew; 
go 

drop table #test; 
drop table #testnew; 
go 

결과 :

당신은 END 키워드를 필요
id   item1  item2 
----------- ----------- ----------- 
1   *foo  bar 
2   *fud  *fudge 
2

당신이 할 수있는 예 :

SELECT CASE SourceField WHEN 1 THEN 'Yes' ELSE 'No' END AS SourceField 
INTO DestinationTable 
FROM SourceTable 
+1

, 권리? ELSE 'No'End AS SourceField –

+0

사실, AdaTheDev는 '끝'위치에 있습니까? ^^ –

+0

예, 고쳤습니다. – AdaTheDev

1

예. 컬럼의 이름을 지정하십시오. 또한 문제를 피하기 위해 Case 문 값을 명시 적 유형으로 변환해야합니다.

SELECT 
    Cast((
     Case(ID) 
      When (1) Then 'Text' 
      Else NULL 
     End) as varchar(50) 
    ) as NewColumn 
INTO #TempTable 
FROM MyTable