sql查询没有数据的时候怎么用0填充

 我来答
大野瘦子
高粉答主

2019-10-23 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34.8万
展开全部

这样:

SELECT

a.dt AS '时间',

ISNULL(b.yield, '0') AS '数据'

FROM

(

SELECT

dateadd(d, number, '2018-11-01') dt

FROM

master..spt_values

WHERE

type = 'p'

AND dateadd(d, number, '2018-11-01') <= '2018-11-30'

) a

LEFT JOIN CE_BD_E_ELECTRIC_WORKSHIFT_T b ON a.dt = b.opdate

扩展资料:

注意事项

COALESCE是一个函数, (expression_1, expression_2, …,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。使用COALESCE在于大部分包含空值的表达式最终将返回空值。

场景一:你想要获取最大值,然后+1返回(即返回的值已经默认为空了),程序接收了本来不该为空的值去运算,就会出错。

SELECT MAX(my_money)+1 FROM tb_test;

改进方法:使用 coalesce函数   COALESCE(值1, 值2,......, 值n) ,只要遇到非null值就返回。

这样子就可以设置一个值,让你第一个不成功后,返回指定的值,如下面,返回的是1.

SELECT COALESCE(MAX(my_money)+1, 1) FROM tb_test;

Ice海Man
推荐于2017-10-07 · TA获得超过302个赞
知道小有建树答主
回答量:203
采纳率:0%
帮助的人:206万
展开全部

如果是SQLServer数据库可以使用ISNULL()函数

    例如:

--这是临时变量表
declare @table table(a varchar(20),b varchar(20))
insert into @table(a) values('a')
--实际查询语句
select a,b from @table
--测试查询语句,当无数据时用0代替
select a=isnull(a,0),b=isnull(b,0) from @table

    效果图如下:

 

参考资料

    了解更多关于ISNULL函数用法,可访问下面连接

    http://www.w3school.com.cn/sql/sql_isnull.asp

追问
这种方法不行哦,因为我查的数据数据库里是没有的所以他不是null而是没有那条记录
追答

如果是空数据,返回0。你只能通过相应的程序判断,或者sql判断无法用一个查询,如果是空返回0的。

例如类似:

if exists(select 1 from 表名 where 条件语句)
begin--如果存在
    select * from 表名 where 条件语句
end
else
begin--如果不存在
    select 0
end
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
妖娆的玫瑰baby
2013-12-20
知道答主
回答量:6
采纳率:0%
帮助的人:8416
展开全部

可以使用ISNULL()函数


列如

效果图如下

追问
很明确的说isnull不行,他针对的是查询出来的数据为null的时候可以,但是我查的是数据库里都没有那条记录,返回回来的数据就不是null了是空没有数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
中国123射手
2019-11-15
知道答主
回答量:21
采纳率:66%
帮助的人:7.4万
展开全部

我今天也遇到这类问题了,
解决问题的关键不是从原SQL上改进,而是嵌套一层!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天堂小孩
2013-12-19 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:271
采纳率:0%
帮助的人:69.5万
展开全部
update table set sex=0 where sex is null
更多追问追答
追问
你这不是给他插入一条数据?
追答
插入是insert into
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式