'Coalesce'에 해당되는 글 2건

  1. 2013.02.15 SQL Server ISNULL & COALESCE 비교
  2. 2012.07.26 SQL Server COALESCE 함수
2013. 2. 15. 11:12

이번에 소개해 드릴 내용은 초 간단 팁 입니다.

ISNULL 함수 사용시 유의사항 입니다.

 

내용인 즉 ISNULL 함수에서 NULL 여부를 체크하는 컬럼형에 따라 데이터가 짤릴 수도 있기 때문에

COALESCE 함수를 사용하는 것을 권장합니다.

 

DEMO!

Use tempdb

go

 

CREATE TABLE dbo.T1(COL1 CHAR(3), COL2 CHAR(1))

 

INSERT INTO dbo.T1(COL1)

SELECT 'ABC'

 

SELECT COL1, COL2

FROM dbo.T1


 

SELECT ISNULL(COL2, COL1), COALESCE(COL2, COL1)

FROM dbo.T1


 

COL2 컬럼타입에 영향을 받아 “BC” 짤렸네요…

 

~

 

 

Reference : http://sqlblog.com/blogs/john_paul_cook/archive/2013/02/06/why-to-use-coalesce-instead-of-isnull.aspx


 

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

SQL Server 5000보다 큰 TCP 포트에서 연결 오류  (0) 2013.10.02
SQL Server CPU Usage 메일링  (0) 2013.02.20
SQL Server Parameter Solution  (0) 2013.02.15
SQL Server Parameter Sniffing  (0) 2012.12.13
SQL Server Missing Indexes  (0) 2012.12.13
Posted by 니노G
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