通过isnull(字段 ,新值)函数实现,如果字段为空,那么给其赋值为“新值”。
sql :select isnull( sum(isnull(age ,0)), 0 ) from tablename;
解释:上面sql实际上做了两次判断,第一次,判断age是否为空,为空的话,就赋值为0;第二次,判断查询中的age数据都为空或者就没有记录,那么给sum的结果赋值为0,否则输出sum结果;
sqlts="select sum(isnull(qjtianshu),0) as ts from list_qingjia where xingming_id="&requestid&""
加个isnull函数,它会默认把空值改成0再进行计算的
在程序里面解决吧,SQL里面的解决方法不具有通用性,不同数据库的出来不一样:
已累计<%
if rsts("ts")="" then
ts=0
else
ts=rsts("ts")
end if
response.write ts
%>天;
这样就可以了 在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&""
isnull(sum(isnull(qjtianshu,0)),0)