SQL----coalesce函数详解
2021/11/25 2:12:05
本文主要是介绍SQL----coalesce函数详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- coalesce函数
- 背景:
- 语法:
- COALESCE ( expression,value1,value2……,valuen)
- 流程:
- 举例:
- 应用 1 :进行空值处理
- 查询学生成绩,如果查不到,则赋值为0
- 应用 2 :进行默认处理
- 返回人员的“重要日期”
- if( , ,)函数也可以
coalesce函数
背景:
- 主流数据库系统都支持COALESCE()函数, MYSQL、MSSQLServer、DB2、Oracle:
- 这个函数主要用来进行空值处理,
语法:
COALESCE ( expression,value1,value2……,valuen)
COALESCE()函数的第一个参数expression为待检测的表达式,而其后的参数个数不定。
COALESCE()函数将会返回包括expression在内的所有参数中的第一个非空表达式。
流程:
- 如果expression不为空值则返回expression;否则判断value1是否是空值,
- 如果value1不为空值则返回value1;否则判断value2是否是空值,
- 如果value2不为空值则返回value2;……以此类推,
- 如果所有的表达式都为空值,则返回NULL。
举例:
应用 1 :进行空值处理
查询学生成绩,如果查不到,则赋值为0
select id,score,coalesce(score, 0) as score_act from test;
应用 2 :进行默认处理
返回人员的“重要日期”
-
如果出生日期不为空则将出生日期做为“重要日期”
-
如果出生日期为空则判断注册日期是否为空,如果注册日期不为空则将注册日期做为“重要日期”,
-
如果注册日期也为空则将“2008年8月8日”做为“重要日期”。
SELECT FName,FBirthDay,FRegDay, COALESCE(FBirthDay,FRegDay,'2008-08-08') AS ImportDay FROM T_Person
if( , ,)函数也可以
SELECT FName,FBirthDay,FRegDay, IF(FName IS NULL,IF(FBirthDay IS NULL,'2008-08-08',FBirthDay ), FName) AS ImportDay FROM T_Person
这篇关于SQL----coalesce函数详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升