如果查询 return MySql 中的空值,我如何设置 0?
How can I set 0 if a query return a null value in MySql?
我不是很喜欢数据库,我有以下问题。
我有这样的查询:
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;
这个查询工作正常,但是,如您所见,它没有检索一组行,而是 return 通过 sum() 函数。
这个数字在某些情况下可能是 null,在这种情况下我不希望这个查询 return null(因为它在我的应用程序中造成了问题)但在这种情况下必须 returned 数值 0.
我知道 MySql 提供了一个 ifnull() 函数来做这样的事情,这里参考:
http://www.w3schools.com/sql/sql_isnull.asp
但在此示例中,它用于 table 上的单个字段。我怎样才能在我的查询输出中做这样的事情?
使用:
SELECT IFNULL(SUM(intervento.IMP_IND_POS_AFF_MIN), 0)
这意味着 IFNULL
可以像应用于 table 字段一样应用于 SUM
返回的值。
您仍然可以使用 IFFNULL():
SELECT IFNULL(SUM(...), 0 ) FROM ...
另请参阅:Return 0 if field is null in MySQL
我不是很喜欢数据库,我有以下问题。
我有这样的查询:
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;
这个查询工作正常,但是,如您所见,它没有检索一组行,而是 return 通过 sum() 函数。
这个数字在某些情况下可能是 null,在这种情况下我不希望这个查询 return null(因为它在我的应用程序中造成了问题)但在这种情况下必须 returned 数值 0.
我知道 MySql 提供了一个 ifnull() 函数来做这样的事情,这里参考:
http://www.w3schools.com/sql/sql_isnull.asp
但在此示例中,它用于 table 上的单个字段。我怎样才能在我的查询输出中做这样的事情?
使用:
SELECT IFNULL(SUM(intervento.IMP_IND_POS_AFF_MIN), 0)
这意味着 IFNULL
可以像应用于 table 字段一样应用于 SUM
返回的值。
您仍然可以使用 IFFNULL():
SELECT IFNULL(SUM(...), 0 ) FROM ...
另请参阅:Return 0 if field is null in MySQL