文章目录
背景
在日常SQL处理中,如何对字段的空值进行处理,记录下来,方便备查。
函数判空
MySQL中可使用【ifnull】函数,该函数对空值可以判断,即数据库中值为【null】
ifnull(str,replaceStr)
str : 需要判空的字符串
replaceStr :若是为空,将要替换的值
素材
金额计算的业务场景中,若金额为空,则默认赋值为0
方案一、case函数
使用case when 捕获空串情况,进行赋值处理。
java
select case when ifnull(amount,'') = '' then '0' end as totalAmount from dual
验证SQL
java
select '' as k, case when ifnull('','') = '' then '0' end as totalAmount from dual
union
select null as k, case when ifnull(null,'') = '' then '0' end as totalAmount from dual
实现效果如下所示。

方案二、nullif函数
可使用【nullif】函数,捕获空串情况
java
select ifnull(nullif(amount,''),'0') as totalAmount from dual
nullif(str1,str2)
若两个值相等,则返回null