Heim > Datenbank > MySQL-Tutorial > Wie ersetze ich NULL-Werte in SQL Server-Abfragen durch Null?

Wie ersetze ich NULL-Werte in SQL Server-Abfragen durch Null?

Mary-Kate Olsen
Freigeben: 2024-12-31 14:29:10
Original
581 Leute haben es durchsucht

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

Ersetzen von NULL-Werten durch Null in einer SQL Server-Abfrage

In einer SQL Server-Abfrage kann es vorkommen, dass Sie NULL-Werte in Ihrer SQL Server-Abfrage haben Ergebnisse. Das Ersetzen dieser NULL-Werte durch eine aussagekräftigere Darstellung, z. B. 0, kann erforderlich sein, um eine genaue Datenanalyse sicherzustellen.

Um dies zu erreichen, können Sie die Funktion ISNULL() verwenden. Die Funktion ISNULL() benötigt zwei Parameter: den Ausdruck, den Sie auf NULL-Werte prüfen möchten, und den Wert, durch den Sie die NULL-Werte ersetzen möchten.

Abfragesyntax:

SELECT ISNULL(expression, 0) FROM table
Nach dem Login kopieren

Beispiel:

In Ihrer bereitgestellten Abfrage gibt es drei Spalten, die NULL-Werte enthalten können: Erfolgreich, fehlgeschlagen und abgebrochen. Um diese NULL-Werte durch 0 zu ersetzen, können Sie die Funktion ISNULL() wie folgt verwenden:

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
Nach dem Login kopieren

Durch die Verwendung von ISNULL() können Sie sicherstellen, dass die Ergebnisse für „Erfolgreich“, „Fehlgeschlagen“ und „Abgebrochen“ immer korrekt sind ein numerischer Wert, auch wenn die ursprünglichen Abfrageergebnisse NULL-Werte enthielten.

Das obige ist der detaillierte Inhalt vonWie ersetze ich NULL-Werte in SQL Server-Abfragen durch Null?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage