일(job)/DBMS
[MS-SQL] select 절에 동적컬럼들의 값을 조회하는 방법
뽀&쏭
2016. 1. 14. 16:19
* SaleCol1 의 컬럼에는 1000 의 값이 들어가 있을 경우
Declare @amount numeric(25,0)
Declare @ColumnName varchar(20)
Set @ColumnName= 'SaleCol1'
와 같이 SaleCol1 의 컬럼값을 조회해야 하는 경우에
SELECT @amount = @ColumnName FROM Sale WHERE year=1998
SELECT @amount
SaleCol1 의 컬럼에 있는 값을 조회하기 위한 방법으로
위와 같이 사용하는 경우에는 SELECT 결과값에는 1000이 아닌 'SaleCol1' 이 출력됨.
SELECT @amount =
CASE @ColumnName
WHEN 'SaleCol1' THEN SaleCol1
WHEN 'SaleCol2' THEN SaleCol2
END
FROM Sale WHERE year = 1998
위와 같이 CASE 문을 사용하는 경우 원하는 1000 값을 조회할 수 있음