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

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

Patricia Arquette
Patricia ArquetteOriginal
2025-01-01 03:08:10825Durchsuche

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

Ersetzen von NULL-Werten durch 0 in SQL Server-Abfragen

Bei der Arbeit mit SQL-Abfragen kommt es häufig vor, dass in bestimmten Spalten NULL-Werte auftreten kann die Datenverarbeitung und -analyse erschweren. Um NULL-Werte in einer SQL Server-Abfrage durch einen bestimmten Wert, z. B. 0, zu ersetzen, können Sie die ISNULL-Funktion verwenden.

Die ISNULL-Funktion benötigt zwei Argumente: eine potenziell Nullspalte und einen Ersatzwert. In Ihrem Fall möchten Sie NULL-Werte in den ersten drei Spalten (Erfolgreich, Fehlgeschlagen, Abgebrochen) durch 0 ersetzen. So können Sie das erreichen:

SELECT ISNULL(column_name, 0) AS column_alias, ...

Um beispielsweise NULL-Werte in zu ersetzen Wenn Sie die ersten drei Spalten Ihrer Abfrage mit 0 versehen, würden Sie sie wie folgt ändern:

SELECT ISNULL(c.rundate, 0) AS 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

Diese geänderte Abfrage verwendet die ISNULL-Funktion, um sicherzustellen, dass auch wenn die Wenn die ersten drei Spalten NULL-Werte enthalten, werden sie durch 0 ersetzt, bevor sie in Berechnungen verwendet oder in den Ergebnissen angezeigt werden.

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

Stellungnahme:
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