| 연봉을 계산하는데 있어서..어떤 사람은 시급으로 받고, 어떤 사람은 연봉으로 받고, 어떤 사람은 판매량에 따른 커미션을 받는다고 했을때..
 각 사람들의 연봉을 구하는 경우..
 CASE 문을 쓰면 프로그램에서 따로 코딩하지 않아도 된다.
 또한 필요없는 데이터들이 null값으로 들어가 있다면 COALESCE문을 사용하면
 더 간단해지고 성능도 좋아진다.
 COALESCE함수는 여러개의 표현식 중에서 첫번째로 나타나는 널이 아닌 값을 리턴해준다.
 CONVERT 와 CAST는 자료형을 바꿀때 쓰는 함수로 CAST는 ANSI 호환을 위해 사용된다.
 
 다음 예제로 그 쓰임새를 살펴보자
 
 select emp_id, [연봉] =
 case
 when hourly_wage IS NOT NULL
 then convert(money,(hourly_wage * 40 * 52))
 when sallary is not null
 then convert(money, sallary)
 else
 convert(money,(commission * num_sales))
 end
 from wages
 
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
 select emp_id
 , [연봉] = cast (
 coalesce(hourly_wage*40*52,sallary,commission*num_sales) as money)
 from wages
 
 
	
		날짜: 2004-05-11 11:40:30,
	조회수: 3013	 |