如何为NULL记录编写sqlite select语句

时间:2010-11-14 06:56:03

标签: objective-c iphone-sdk-3.0 sqlite

我有一个列,其中包含某些行中的空值。

我想通过在sqlite中编写一个select语句来对列值求和。

如何编写语句,以便将空值视为0。

我当前的sqlite语句:从table1中选择sum(amount) 在返回null时给出错误。

请帮忙。

2 个答案:

答案 0 :(得分:3)

Accordgin to SQLite documentation

  

sum()和total()聚合函数返回组中所有非NULL值的总和。如果没有非NULL输入行,则sum()返回NULL但total()返回0.0。除了

之外,NULL对于没有行的总和通常不是有用的结果

所以我猜你最好使用total()而不是sum(),以防你期望结果为'非null'。

答案 1 :(得分:1)

您可以使用ifnull(x,y)或coalesce(x,y,z,...)函数。它们中的每一个都从左到右返回参数列表中的第一个非空值。 ifnull只有两个参数,而coalesce至少有两个。

从table1中选择sum(ifnull(amount,0))