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

相关推荐
AI人工智能+电脑小能手5 分钟前
【大白话说Java面试题 第97题】【Mysql篇】第27题:说说分库与分表的设计?
java·开发语言·数据库·分布式·mysql·算法
飞函安全12 分钟前
飞函Webhook能力如何帮助企业把监控告警、设备异常第一时间推到对应群组
网络·数据库·安全·私有化im
map1e_zjc12 分钟前
Redis入门笔记(2)
数据库·redis·笔记
开发者联盟league14 分钟前
container登录失败解决方法。http: server gave HTTP response to HTTPS client
数据库·http·https
有想法的py工程师15 分钟前
PostgreSQL分区表父索引INVALID排查实战:缺少某个分区索引导致父索引INVALID
数据库·postgresql
chushiyunen34 分钟前
金庸(庸老)小说之大模型
数据库·oracle
小此方1 小时前
Re:Mysql数据库基础篇(二):MySQL 基础指南,架构分层、SQL 分类与引擎解析
数据库·mysql
一个儒雅随和的男子1 小时前
深入剖析时序数据库 InfluxDB 核心原理
数据库·时序数据库
Nayxxu1 小时前
GPT API 迁移教程:Chat Completions 到 Responses API 的最小改造路径
数据库·gpt
minji...1 小时前
MySQL数据库 (三) 表的操作(增删查改),库和表的关系
数据库·mysql·数据表