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

相关推荐
小程故事多_809 分钟前
从 Tokenizer 到 Next Token,穿透数据流,完整理解 Transformer 底层逻辑
android·深度学习·transformer
cspttty29 分钟前
2027用户研究求职准备:应用统计学如何补齐研究设计与业务表达
大数据·数据库
roman_日积跬步-终至千里2 小时前
【数据Agent论文·查询与语义|05】Spider:为什么换一个数据库,模型就不会查了?
数据库·数据分析
猫咪很可爱2 小时前
Oracle RAC 启动失败排查:私网通信与内核参数优化实战
运维·数据库·oracle
XLYcmy2 小时前
《数字经济赋能城市低碳治理的路径研究检索报告》审阅与修改指导意见——基于完整检索报告体例的完整性诊断、学术规范核查与方法论纠偏 上
数据库·ai·chatgpt·文心一言·检索·知网·豆包
泡海椒2 小时前
JQuick-SQL 快速开始:注册内存表并执行查询
数据库·windows·sql
ss2733 小时前
PG实战笔记 | 09 PostgreSQL psql客户端基本操作
数据库·笔记·postgresql
电商API_180079052473 小时前
反向海淘多币种结算:汇率该在哪个时点被冻结
java·开发语言·数据库·跨境电商·1688 api
三少爷的鞋3 小时前
Android 协程实践:为什么不应将 `supervisorScope` 作为常规方案
android
搞AI的金鱼3 小时前
skill agent workflow的区别
数据库