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

相关推荐
Boilermaker19922 小时前
【MySQL 进阶】高性能优化
数据库·sql·mysql
CoderOnly3 小时前
SQL,CROSS JOIN速度优化
数据库·sql·mysql
Highcharts.js3 小时前
入门指南|从文件到图表:Highcharts对接数据库(CSV、Excel)实现数据同步绘制图表
数据库·excel·数据同步·highcharts·数据对接·文件导入
老衲提灯找美女5 小时前
MySQL的增删改查功能合集
数据库·mysql·增删改查·增删改查详细用法
小马爱打代码6 小时前
MyBatis:性能优化实战 - 从 SQL 优化到索引设计
sql·性能优化·mybatis
SelectDB6 小时前
Apache Doris 4.0.1 版本正式发布
数据库·apache
Doro再努力6 小时前
MySQL数据库07:分组查询与分类查询
数据库·mysql
Elastic 中国社区官方博客7 小时前
Elasticsearch:如何为 Elastic Stack 部署 E5 模型 - 下载及隔离环境
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
间彧7 小时前
SpringBoot + MyBatis-Plus + Dynamic-Datasource 读写分离完整指南
数据库·后端
静若繁花_jingjing7 小时前
NoSql数据库概念
数据库·nosql