2012. 7. 26. 11:37

이번에 얘기할 내용은 COALESCE 함수 입니다.

일단, MSDN에서는….

- 해당 인수 중에서 Null이 아닌 첫 번째 식을 반환합니다.

라고 하는데요. 무슨 뜻이죠? -_-a 직접 보시죠~ Check this out!

 

WITH PlatformTeam

AS (

             SELECT '김해' as Name, '010-테이크-빵빵빵꾸' as cell_phone, '02-집전화-빵꾸똥꾸' as phone, '툴파트' as [Group]

             UNION all

             SELECT '원미' as Name, Null, '031-집전화-빵꾸꾸빵', '디비파트'

             UNION all

             SELECT '백승' as Name, '010-갤럭시-똥똥꾸꾸', Null, '디비파트'

             UNION all

             SELECT '서일' as Name, Null, Null, '디비파트'

             )

SELECT Name, cell_phone, phone, COALESCE(cell_phone, phone) as '둘중있는번호'

FROM PlatformTeam

 

 

 

위와 같이 cell_phonephone 컬럼에서 Null 아닌 값을 확인가능 합니다.

 

사실 오늘 하려던 얘기는 이게 아니라 COALESCE 함수를 이용한 Pivot 입니다.

다시 테이블에서 누가 어느 파트에 속해 있는지 확인해 보겠습니다.

 

SELECT Name, [Group]

FROM PlatformTeam

---------------------------------

 


그럼 디비파트분들 이름을 Pivot 해보겠습니다.

여러가지 방법이 있겠지만 이번엔 COALESCE 함수가 주인공이니…

 

DECLARE @name VARCHAR(100)

 

SELECT @NAME = COALESCE(@NAME, '') + Name + ' | '

FROM PlatformTeam

WHERE [Group] = '디비파트'

 

SELECT @NAME as 'Pivot'

-------------------------------------------------------------------



 

위와 같이 디비파트분들이 Pivot된 것을 확인 가능합니다.


Reference : http://www.mssqltips.com/sqlservertip/1521/the-many-uses-of-coalesce-in-sql-server/

 

~

'SQL Server > Tips' 카테고리의 다른 글

SQL Server Truncate Table's minimally logged  (0) 2012.08.07
SQL Server DBCC CHECKDB  (0) 2012.07.30
SQL Server KILL WITH STATUSONLY 옵션  (0) 2012.07.26
링크  (0) 2012.07.19
CPU, I/O Bottleneck 찾기  (0) 2011.03.25
Posted by 니노G