sql 統計多個欄位的和(如果欄位中含有 null 的處理)

linuxMr發表於2020-04-26

mysql 的ifnull 函式和 oracel 的 nvl 的函式相同功效 ;

ifnull(num,0) : 含義 就是如果num 為null 就返回0 ; 不是null 返回原值 ; 

mysql:

SELECT sum(ifnull(num,0)+ifnull(nvl,0)) as _count from `cl_vul` where id =4 ; 
mysql 的  COALESCE函式也有類似的效果
 SELECT sum(coalesce(num,0)+coalesce(nvl,0)) as _count from `cl_vul` where id =4 ;

  CAST : 強制轉換函式
SELECT sum(CAST(num as UNSIGNED)+CAST(nvl as UNSIGNED)) as _count from `cl_vul` where id =4 ;

oracel :

SELECT sum(nvl(num,0)+nvl(nvl,0)) as _count from `cl_vul` where id =4 ;  


注意 : nvl 的函式是屬於oracel ,不是mysql 函式 ; 注意你的開發環境 ; 
 mysql環境使用nvl 報錯

sql 統計多個欄位的和(如果欄位中含有null的處理)

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章