SQL语句里怎么将SUM里的空值赋值为0
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语句里怎么将SUM里的空值赋值为0相关的知识,希望对你有一定的参考价值。
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是空集时便不显示,有数值时是正常的。
请求高手帮解决一下,很急的。
问题还是不能解决呀。。。。
请大家帮一下哈。。。
空值时还是会出错。。
sql :select isnull( sum(isnull(age ,0)), 0 ) from tablename;
解释:上面sql实际上做了两次判断,第一次,判断age是否为空,为空的话,就赋值为0;第二次,判断查询中的age数据都为空或者就没有记录,那么给sum的结果赋值为0,否则输出sum结果; 参考技术A sqlts="select sum(isnull(qjtianshu),0) as ts from list_qingjia where xingming_id="&requestid&""
加个isnull函数,它会默认把空值改成0再进行计算的本回答被提问者采纳 参考技术B 在程序里面解决吧,SQL里面的解决方法不具有通用性,不同数据库的出来不一样:
已累计<%
if rsts("ts")="" then
ts=0
else
ts=rsts("ts")
end if
response.write ts
%>天; 参考技术C 这样就可以了 在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&"" 参考技术D isnull(sum(isnull(qjtianshu,0)),0)
从sql table处理PSCustomObject中的空值。无法转换对象
在从SQL中提取数据时,行中的某些列为空。我收到一条异常消息:
使用“1”参数调用“GetString”的异常:“无法将'System.DBNull'类型的对象强制转换为'System.String'。”
我怎么处理这个?它似乎基本上只是移动到下一行,但我需要所有行和所有列。如果该列为null,请确定我,但我确实需要将其设置为空字符串。此数据将用于设置AD中用户的详细信息。当我使用Set-ADUser
命令时,即使它是null,我也需要能够使用该变量。我不希望PowerShell不执行Set-ADUser
命令,因为特定变量为空。最失败的是supr_username。
我花了很长时间才从Oracle sql表中获取输出,以便我可以将它用于Set-ADUser
。我还没有发现任何我想要做的事情。
[pscustomobject]@{
Identity = $_.GetString(2)
Title = $_.GetString(3)
Department = $_.GetString(4)
MSC = $_.GetString(5)
Office_Location = $_.GetString(6)
Office_Phone = $_.GetString(7)
Supr_username = $_.GetString(10)
}
}````
您可以使用空字符串(""
)的值初始化自定义对象属性。然后你可以测试列索引(序号)是否包含DBNull
并且如果它不是DBNULL
则转换为字符串。
$obj = [pscustomobject][ordered]@{Identity = ""
Title = ""
Department = ""
MSC = ""
Office_Location = ""
Office_Phone = ""
Supr_username = ""
}
$obj.Identity = if (!$_.isDbNull(2)) { $_.GetString(2) }
$obj.Title = if (!$_.isDbNull(3)) { $_.GetString(3) }
$obj.Department = if (!$_.isDbNull(4)) { $_.GetString(4) }
$obj.MSC = if (!$_.isDbNull(5)) { $_.GetString(5) }
$obj.Office_Location = if (!$_.isDbNull(6)) { $_.GetString(6) }
$obj.Office_Phone = if (!$_.isDbNull(7)) { $_.GetString(7) }
$obj.Supr_username = if (!$_.isDbNull(10)) { $_.GetString(10) }
$obj
以上是关于SQL语句里怎么将SUM里的空值赋值为0的主要内容,如果未能解决你的问题,请参考以下文章