SQL 中的SUM用法迷惑很

Select sum(SaleAmount) As SaleAmount From #TempTb --有值
Select sum(isnull(0,SaleAmount)) As SaleAmount From #TempTb --为0
什么原因?
感觉第一行应该可能为空,因为有可能为NUll值,但第二行却始终为零!
求解 #TempTb 为临时表!

Select sum(isnull(0,SaleAmount)) As SaleAmount From #TempTb --为0

isnull(0,SaleAmount) 结果是 0

isnull(SaleAmount,0) 结果是 SaleAmount
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-12
sum(isnull(0,SaleAmount))

isnull(0, saleAmont), 0始终不为null,自然始终为0了
等价于
select sum(0) As SaleAmount From #TempTb
第2个回答  2011-07-12
第二个应该是sum(isnull(SaleAmount,0))

SQL 中的SUM用法迷惑很
Select sum(isnull(0,SaleAmount)) As SaleAmount From #TempTb --为0 isnull(0,SaleAmount) 结果是 0 isnull(SaleAmount,0) 结果是 SaleAmount

sql Sum() 统计,比较复杂哦,
或者 slect a.供货单位,a.运输单位,a.本日车次,a.本日净量,sun(a.本日车次) as 本日累计车次 ,sum(a.本日净量) as 本日累计数量 from (select 供货单位,运输单位,count(运输单位) as 本日车次,sum(毛重)-sum(皮重) as 本日净量 from wer where 单位名称 = 'A'and 日期 = '2007....

在SQL中, sum()函数怎么用?
select exp(sum(log(col1)))from temp1;

sql sum函数的用法
SQL中的SUM()函数是一个关键工具,用于计算数值列的总和,这对于数据分析和报表生成非常有用。让我们通过一个实例来深入理解它的用法。在使用SUM()函数时,首先需要了解其基本语法。在具体操作中,我们通常会指定要计算总和的列名。例如,如果你有一个名为"access_log"的表,且想计算其中"count"列的总...

SQL:为什么这个SQL语句的sum报错呢?
sum里必须是字段而不是条件,你这个得写4个子查询 而且你要的应该是计数而不是总和 select a1.category1, a2.category2... from(select count(*) category1 from employee where salary>900 and age>35) a1,(select count(*) category2 from employee where salary>900 and age>35) a2,....

sqlsum函数的用法
SQL中的SUM函数是一个聚合函数,主要用于计算一组值的总和。它可以对列中的数据进行求和操作。详细解释:1. 基本语法:SUM函数的语法非常简单。其基本形式为:SUM。这里,column_name是你要进行求和的列的名称。2. 功能说明:SUM函数的主要功能是对选定列中的所有值进行相加。它通常用于聚合操作,如在...

请教SUM()函数的用法?
首先,定义一个变量sql,用于存储SQL查询语句,即:"SELECT SUM(s1) FROM 表",这里的"表"应替换为你的实际表名。然后,使用$conn$这个连接对象执行此SQL语句,存储查询结果到变量results中。接下来,检查查询结果是否已到达EOF(End Of File)的位置,如果没有,说明有数据返回。此时,你可以通过...

sql的sum问题,高手来
写的太不详细了。你想一条纪录怎么显示,你先举个例子 还不是太清楚,我想知道的是你的结果想怎么显示。同一个表m内a 和b有什么逻辑关系?不过先试着写个 select b,sum(a) from m where b in(select b from m)

SQL SUM用法
SUM() 函数返回数值列的总数。具体语法参考:演示数据库 在本教程中,我们将使用 shulanxt 样本数据库。下面是选自 “access_log” 表的数据:-from 树懒学堂 SQL SUM() 实例 下面的 SQL 语句查找 “access_log” 表的 “count” 字段的总数:...

SQL用SUM()做除法时的非零问题怎么解决?
NULL else @a\/@b end as [a除以b]--method 2declare @a int ---分子declare @b int ---分母select @a\/nullif(@b,0) as [a除以b]在零之前判断以下,避免分母为零 sqlserver避免遇零除错 在oracle中,你也可以采用上述类似的方法,处理相关的错误信息,请试一试,如有疑问,及时沟通!

相似回答