집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server 쿼리에서 NULL 값을 0으로 바꾸는 방법은 무엇입니까?
SQL Server 쿼리에서 NULL 값을 0으로 바꾸기
SQL Server 쿼리에서 쿼리에 NULL 값이 있는 상황이 발생할 수 있습니다. 결과. 정확한 데이터 분석을 보장하려면 이러한 NULL 값을 0과 같은 보다 의미 있는 표현으로 바꾸는 것이 필요할 수 있습니다.
이를 달성하려면 ISNULL() 함수를 활용할 수 있습니다. ISNULL() 함수는 NULL 값을 확인하려는 표현식과 NULL 값을 바꿀 값의 두 가지 매개변수를 사용합니다.
쿼리 구문:
SELECT ISNULL(expression, 0) FROM table
예:
제공된 쿼리에는 다음과 같은 세 개의 열이 있습니다. NULL 값(성공, 실패, 취소)을 포함할 수 있습니다. 이러한 NULL 값을 0으로 바꾸려면 다음과 같이 ISNULL() 함수를 사용할 수 있습니다.
Select c.rundate, ISNULL( sum(case when c.runstatus = 'Succeeded' then 1 end), 0 ) as Succeeded, ISNULL( sum(case when c.runstatus = 'Failed' then 1 end), 0 ) as Failed, ISNULL( sum(case when c.runstatus = 'Cancelled' then 1 end), 0 ) as Cancelled, count(*) as Totalrun from ( Select a.name, case when b.run_status = 0 Then 'Failed' when b.run_status = 1 Then 'Succeeded' when b.run_status = 2 Then 'Retry' Else 'Cancelled' End as Runstatus, cast(substring(convert(varchar(8), run_date), 1, 4) + '/' + substring(convert(varchar(8), run_date), 5, 2) + '/' + substring(convert(varchar(8), run_date), 7, 2) as Datetime) as RunDate from msdb.dbo.sysjobs as a(nolock) inner join msdb.dbo.sysjobhistory as b(nolock) on a.job_id = b.job_id where a.name = 'AI' and b.step_id = 0 ) as c group by c.rundate
ISNULL()을 사용하면 성공, 실패 및 취소에 대한 결과가 항상 다음과 같이 표시되도록 할 수 있습니다. 원래 쿼리 결과에 NULL 값이 있더라도 숫자 값입니다.
위 내용은 SQL Server 쿼리에서 NULL 값을 0으로 바꾸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!