SQL语句里怎么将SUM里的空值赋值为0

sqlts="selectsum(qjtianshu)astsfromlist_qingjiawherexingming_id="&requestid&""这个句语里,q... sqlts="select sum(qjtianshu) as ts from list_qingjia where xingming_id="&requestid&""
这个句语里,qjtianshu的值有时候会是空集,如何在qjtianshu为空值时自动赋值为0?
注:ISNULL,NVL,isnumeric,都使用过了,都还是不行,或者我用得不对?
源码是这样的:
<%
set rsts=server.createobject("adodb.recordset")
sqlts="select sum(qjtianshu) as ts from list_qingjia where xingming_id="&requestid&""
rsts.open sqlts,conn,1,1
%>
已累计<%=rsts("ts")%>天;
当qjtianshu是空集时便不显示,有数值时是正常的。
请求高手帮解决一下,很急的。
问题还是不能解决呀。。。。

请大家帮一下哈。。。

空值时还是会出错。。
展开
 我来答
198901245631
推荐于2017-09-22 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1731万
展开全部
通过isnull(字段 ,新值)函数实现,如果字段为空,那么给其赋值为“新值”。
sql :select isnull( sum(isnull(age ,0)), 0 ) from tablename;

解释:上面sql实际上做了两次判断,第一次,判断age是否为空,为空的话,就赋值为0;第二次,判断查询中的age数据都为空或者就没有记录,那么给sum的结果赋值为0,否则输出sum结果;
badkano
推荐于2017-09-18 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885367
团长

向TA提问 私信TA
展开全部
sqlts="select sum(isnull(qjtianshu),0) as ts from list_qingjia where xingming_id="&requestid&""

加个isnull函数,它会默认把空值改成0再进行计算的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光上的桥
2009-05-06 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
在程序里面解决吧,SQL里面的解决方法不具有通用性,不同数据库的出来不一样:

已累计<%
if rsts("ts")="" then
ts=0
else
ts=rsts("ts")
end if
response.write ts
%>天;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
红色的老特拉福德之魂
2009-05-06 · TA获得超过961个赞
知道大有可为答主
回答量:2138
采纳率:0%
帮助的人:1480万
展开全部
这样就可以了 在sum的时候做下判断 当qjtianshu 为NULL 值时 令其值=0 否则继续求和

sqlts="select sum(case when qjtianshu is null then 0 else qjtianshu end) as ts from list_qingjia where xingming_id="&requestid&""
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友57cd287e5
2009-05-06 · TA获得超过277个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:165万
展开全部
isnull(sum(isnull(qjtianshu,0)),0)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式