ホームページ >データベース >mysql チュートリアル >SQL Server クエリで NULL 値をゼロに置き換える方法

SQL Server クエリで NULL 値をゼロに置き換える方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-31 14:29:10581ブラウズ

How to Replace NULL Values with Zero in SQL Server Queries?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。