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

相关推荐
DogDaoDao4 小时前
Android 硬件编码器参数完全指南:MediaCodec 深度解析
android·音视频·视频编解码·h264·硬编码·视频直播·mediacodec
JohnnyDeng945 小时前
Android 自定义 View:Canvas 绘图与事件分发深度解析
android
rising start6 小时前
二、全面理解MySQL架构
mysql·架构
星星也在雾里6 小时前
PgBouncer 解决 PostgreSQL 连接数超限 + 可视化监控
数据库·postgresql
bqq198610267 小时前
MySQL性能优化
mysql·mysql优化
雨辰AI8 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
长城20248 小时前
关于MySql的ONLY_FULL_GROUP_BY问题
数据库·mysql·聚合列
常常有8 小时前
MySQL 底层执行原理:输入SQL语句到两阶段提交
数据库·sql·mysql
Android小码家9 小时前
Framework之Launcher小窗开发
android·framework·虚拟屏·小窗
Mr. zhihao9 小时前
深入解析redis基本数据结构
数据结构·数据库·redis