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
Freigeben: 2025-01-01 03:08:10
Original
812 Leute haben es durchsucht

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

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

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!

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