이번에 얘기할 내용은 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_phone과 phone 컬럼에서 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 |