【问题标题】:How can I set 0 if a query return a null value in MySql?如果查询在 MySql 中返回空值,如何设置 0?
【发布时间】:2016-03-11 14:20:19
【问题描述】:

我不是很喜欢数据库,我有以下问题。

我有一个这样的查询:

SELECT sum(intervento.IMP_IND_POS_AFF_MIN) 
FROM TID023_INTERVENTO intervento
INNER JOIN TID018_ENTEBENEFICIARIO enteBeneficiario 
   ON(enteBeneficiario.COD_ENT = intervento.COD_ENT)
INNER JOIN anagrafiche.TPG1029_PROVNUOIST provNuovIst 
   ON (provNuovIst.COD_PRV_NIS = enteBeneficiario.COD_PRV_NIS)
WHERE intervento.COD_TIP_BAN=1 AND intervento.IMP_IND_POS_AFF_MIN is not null;

这个查询工作正常,但正如您所见,它不会检索一组行,而是返回一个由 sum() 函数获得的数字。

这个数字在某些情况下可能是 null,在这种情况下,我不希望这个查询返回 null(因为它会在我的应用程序中产生问题)但在这种情况必须返回数值0

我知道 MySql 提供了一个 ifnull() 函数来做这样的事情,这里参考:

http://www.w3schools.com/sql/sql_isnull.asp

但在此示例中,它用于表中的单个字段。如何在我的查询输出上做这样的事情?

【问题讨论】:

  • 尝试使用案例语句将 Null 替换为 0?
  • 您的问题与链接中的情况有何不同?
  • 我认为问题在于查询可能根本不返回任何结果(前端看起来像 NULL?) - 不是它返回 NULL 值跨度>

标签: mysql sql database count rdbms


【解决方案1】:

用途:

SELECT IFNULL(SUM(intervento.IMP_IND_POS_AFF_MIN), 0)

这意味着IFNULL 可以应用于SUM 返回的值,就像应用于表字段一样。

【讨论】:

    【解决方案2】:

    你仍然可以使用 IFFNULL():

    SELECT IFNULL(SUM(...), 0 ) FROM ... 
    

    另请参阅:Return 0 if field is null in MySQL

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-09
      • 2015-06-17
      • 1970-01-01
      • 1970-01-01
      • 2013-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多