ホームページ >データベース >mysql チュートリアル >SQL Server クエリで NULL 値をゼロに置き換える方法
SQL Server クエリで NULL 値をゼロに置き換える
SQL Server クエリでは、クエリに NULL 値が含まれる状況が発生することがあります。結果。正確なデータ分析を保証するには、これらの NULL 値を 0 などのより意味のある表現に置き換える必要がある場合があります。
これを実現するには、ISNULL() 関数を利用できます。 ISNULL() 関数は、NULL 値をチェックする式と、NULL 値を置換する値の 2 つのパラメータを取ります。
クエリ構文:
SELECT ISNULL(expression, 0) FROM table
例:
指定されたクエリには、次のような 3 つの列があります。 NULL 値 (Succeeded、Failed、および Cancelled) が含まれます。これらの 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() を使用すると、Succeeded、Failed、および Canceled の結果が常に次のようになります。元のクエリ結果に NULL 値があった場合でも、数値。
以上がSQL Server クエリで NULL 値をゼロに置き換える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。