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

相关推荐
abyyyyy12317 分钟前
oj题目练习
java·前端·数据库
lzhdim19 分钟前
SQL 入门 2:LIKE、正则、 ORDER BY 与LIMIT
数据库·sql·mysql
GDAL26 分钟前
SQLite 的适用场景与选型指南:它不是轻量 MySQL,而是「文件的升级版」
数据库·mysql·sqlite
yttandb32 分钟前
数据库-CRUD
数据库
{Hello World}35 分钟前
MySQL学习----------相关库表操作
数据库·学习·mysql
青衫码上行1 小时前
高频 SQL 50题(基础版)| 连接
数据库·sql·mysql
一个响当当的名号1 小时前
lectrue17 时间戳排序并发控制
数据库
xyzhan1 小时前
SQL Server - 列出数据库中所有固定长度字段
数据库·sql·oracle·sql server
skywalk81631 小时前
新华字典:pwxcoo/chinese-xinhua 中华新华字典数据库。包括歇后语,成语,词语,汉字。
数据库·字典
念越1 小时前
MySQL 聚合函数与分组查询全解析
数据库·mysql