在 SQL 服务器查询中用 0 替换 NULL [英] Replacing NULL with 0 in a SQL server query
本文介绍了在 SQL 服务器查询中用 0 替换 NULL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我开发了一个查询,在前三列的结果中我得到 NULL
.如何用 0
替换它?
I have developed a query, and in the results for the first three columns I get NULL
. How can I replace it with 0
?
Select c.rundate,
sum(case when c.runstatus = 'Succeeded' then 1 end) as Succeeded,
sum(case when c.runstatus = 'Failed' then 1 end) as Failed,
sum(case when c.runstatus = 'Cancelled' then 1 end) 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(run_date as datetime)
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
推荐答案
当您想用其他内容替换可能的 null
列时,请使用 IsNull.
When you want to replace a possibly null
column with something else, use IsNull.
SELECT ISNULL(myColumn, 0 ) FROM myTable
如果 myColumn 首先为空,这将在其中放置一个 0.
This will put a 0 in myColumn if it is null in the first place.
这篇关于在 SQL 服务器查询中用 0 替换 NULL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文