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("字段名", 值) -- 非空验证 如果字段为空就输出后面的值

相关推荐
这个DBA有点耶20 小时前
InnoDB架构深潜:从磁盘到内存,一条SQL的生命周期
数据库·mysql·程序员
小小龙学IT1 天前
Drizzle ORM:TypeScript 生态中冉冉升起的数据库工具链引言
javascript·数据库·typescript
ECT-OS-JiuHuaShan1 天前
什么是对和错?——“有针对性定义域的逻辑值的真伪”:认识论终极追问的公理化裁决
数据库·人工智能·算法·机器学习·数学建模
乐维_lwops1 天前
多类型数据库如何高效监控?
数据库·数据库监控·运维监控
齐潇宇1 天前
Redis数据库基础
linux·数据库·redis·缓存
CodeStats1 天前
从JDBC时代到MyBatis封神:SQL全流程手写ORM实战
sql·mysql·mybatis
三更两点1 天前
AI拉呱-技术洞察 - 2026-06-01
数据库·人工智能·技术洞察
程序边界1 天前
KES查询优化与运维实战:从表空间到SQL内核那些让DBA少加班的事
数据库
Lyyaoo.1 天前
【MySQL】存储引擎
数据库·mysql
huluang1 天前
密评多选题 — 陷阱名单(费曼自述法版)
网络·数据库·密码学