2013-03-06 1 views
0

나는이 같은 select 문에 추가하고 싶은 다음 I, J 중, k는 null의 경우SQL에 값이없는 경우 강제로 추가하는 방법은 무엇입니까?

예상대로
select (I + j + k) as total from MyTable ... 

, 전체가 null로 반환됩니다.

I, j, k 중 하나가 누락 된 경우 누락 된 값이 합산을 위해 0으로 간주되므로 합계가 널이 아니도록이 선택을 코딩하는 방법은 무엇입니까? 감사. COALESCE에 대한

+0

검색합니다. –

+0

은 합치거나 널 값을 허용하지 않는 기본값 인 0을가집니다. 모든 값이 0이면 작동 할 것입니다 –

답변

5
SELECT total = COALESCE(l,0) + COALESCE(j,0) + COALESCE(k,0) 
FROM dbo.MyTable; 
3
select ISNULL(I,0) + ISNULL(j,0) + ISNULL(k,0) as total from MyTable ... 

또는 MySQL을

select IFNULL(I,0) + IFNULL(j,0) + IFNULL(k,0) as total from MyTable ... 

+0

SQL 서버에서 IFNULL과 같은 것은 없습니다. 어쩌면 당신은 'NULLIF'를 의미 했었지만이 맥락에서는 의미가 없을 것입니다. –

+0

그래, 난 그냥 mysql을 위해 추가하려고했는데, 당신은 나를 위해 빨리해야합니다. – Hogan

+0

mysql이 왜 여기에 속하는지 잘 모르겠다. 질문에는 mysql이 포함되지 않는다. –