SQL查询时使用判断语句

oracle中if...else的方法

第一种:写表达式

sql 复制代码
SELECT
	CASE 
		WHEN 2>1 THEN '真'
		ELSE '假'
	END AS WE
FROM DUAL
第二种:固定
sql 复制代码
SELECT
	CASE 1 
		WHEN 1 THEN '字段的值是1' 
		WHEN 2 THEN '字段的值是2' 
		ELSE '字段的值3' 
	END AS WE 
FROM
	DUAL

第三种:DECODE

需要判断的值,判断1的结果条件(if),符合判断1的结果,判断2的结果条件(else if),符合判断2的结果,(else)

sql 复制代码
SELECT
	DECODE(2, 1, '男', 2, '女', '未知')
FROM
	DUAL

注意:NVL()是oracle数据库中对字段的非空校验,如果字段名为空,则赋值为逗号后面的值。

mysql中if...else的方法

第一种:

sql 复制代码
SELECT
	IF(1>0, '真', '假')
FROM
	DUAL

也可以多条件嵌套用:

sql 复制代码
SELECT
	IF(1>0, IF(2>1, '真', '假'), '假')
FROM
	DUAL

第二种:

sql 复制代码
SELECT
	CASE 1
		WHEN 1 THEN '字段的值是1'
		WHEN 2 THEN '字段的值是2'
		ELSE '字段的值3'
	END AS WE
FROM
	DUAL

注意:ifnull("字段名", 值) -- 非空验证 如果字段为空就输出后面的值

相关推荐
吴名氏.6 小时前
Java转AI Agent教程(第十三周)混合检索与重排
java·数据库·人工智能·ai·ai agent
爱码少年6 小时前
Springboot下如何将CSV文件数据导入H2、Mysql数据库表
数据库·mysql·csv
2603_969694857 小时前
【JavaWeb学习记录】MyBatis核心知识点与实战笔记:从入门到动态SQL
笔记·sql·学习·mysql·mybatis·javaweb·学习方法
可乐ea7 小时前
智能体记忆该拆成几层:笔记、记忆表示与注入上下文
服务器·数据库·笔记·ai智能体·提示词工程·上下文工程·记忆系统
数据技术说8 小时前
在 KES AI 数据库上搭一条 NL2SQL 链路:语义、召回、权限各放哪
人工智能·sql·代码规范
阿义有问题8 小时前
MySQL 迁移达梦全流程实战:DTS 七步图解 + 对象名全大写适配(附踩坑清单)
数据库
猫猫不是喵喵.11 小时前
从0到1创建一个微服务项目
java·数据库·微服务·1024程序员节
lsc_blog12 小时前
听到优化风声,先准备能由自己掌控的事
数据库·分布式·中间件·职场和发展·重构
墨痕诉清风12 小时前
SSRF漏洞实战记录+OSS桶命令执行+MCP漏洞
linux·服务器·数据库
Ashe81315 小时前
MySQL 慢日志先别急着加索引:三个指标能拦掉大半误判
数据库