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

相关推荐
霖霖总总1 分钟前
[小技巧66]当自增主键耗尽:MySQL 主键溢出问题深度解析与雪花算法替代方案
mysql·算法
独自破碎E1 小时前
【BISHI15】小红的夹吃棋
android·java·开发语言
晚霞的不甘1 小时前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
市场部需要一个软件开发岗位2 小时前
JAVA开发常见安全问题:纵向越权
java·数据库·安全
海奥华22 小时前
mysql索引
数据库·mysql
2601_949593652 小时前
深入解析CANN-acl应用层接口:构建高效的AI应用开发框架
数据库·人工智能
javachen__2 小时前
mysql新老项目版本选择
数据库·mysql
Dxy12393102163 小时前
MySQL如何高效查询表数据量:从基础到进阶的优化指南
数据库·mysql
Dying.Light3 小时前
MySQL相关问题
数据库·mysql
蜡笔小炘3 小时前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs