Mysql字段判空实用技巧

文章目录

背景

在日常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

相关推荐
发际线还在13 分钟前
互联网大厂Java三轮面试全流程实战问答与解析
java·数据库·分布式·面试·并发·系统设计·大厂
小王不爱笑13227 分钟前
MyBatis 执行流程源码级深度解析:从 Mapper 接口到 SQL 执行的全链路逻辑
数据库·sql·mybatis
Seven9730 分钟前
MySQL语句执行深度剖析:从连接到执行的全过程
mysql
阿拉斯攀登1 小时前
【RK3576 安卓 JNI/NDK 系列 08】RK3576 实战(二):JNI 调用 I2C 驱动读取传感器数据
android·安卓ndk入门·jni方法签名·java调用c++·rk3576底层开发·rk3576 i2c开发
山峰哥1 小时前
SQL优化实战:从索引策略到执行计划的极致突破
数据库·sql·性能优化·编辑器·深度优先
总要冲动一次1 小时前
离线安装 percona-xtrabackup-24
linux·数据库·mysql·centos
lcrml2 小时前
nacos2.3.0 接入pgsql或其他数据库
数据库
阿达_优阅达2 小时前
告别手工对账:xSuite 如何帮助 SAP 企业实现财务全流程自动化?
服务器·数据库·人工智能·自动化·sap·企业数字化转型·xsuite
IvorySQL2 小时前
IvorySQL v5 发布后,我们想听听大家的使用体验
数据库·postgresql·开源
Maverick062 小时前
01- Oracle核心架构:理解数据库如何运转
数据库·oracle·架构