db2函数之decode

使用场景

在tab1中有这样一个字段,weekday,值为"星期一","星期二","星期三","星期四","星期五","星期六","星期日",

需要查询该字段的值,如果为星期一,则activity_to_do为"上课",如果是星期二,则活动为打篮球,如果是星期三,则为散步,其他则为"呆在家",

使用后的函数为如下:

decode函数

sql 复制代码
// decode函数
select 
	decode(weekday,
	'星期一','上课', -- 如果是星期一,活动为上课
	'星期二','打篮球', -- 如果是星期二,活动为打篮球
	'星期三','散步', -- 如果是星期三,活动为散步
	'呆在家') -- 如果是其他,活动为呆在家
as activity_to_do from tab1;
sql 复制代码
// decode函数
select 
	decode(需要匹配的字段,
	'如果为值1','那么取这个值1', 
	'如果为值2','那么取这个值2',
	-- 中间可以有很多对
	'如果前面的值匹配不上,那么为这个值')
as activity_to_do from tab1;

其效果与case when等同

sql 复制代码
// case when函数
SELECT 
   CASE weekday
       WHEN '星期一' THEN '上课',
       WHEN '星期二' THEN '打篮球',
       WHEN '星期三' THEN '散步',
       ELSE '呆在家'
   END AS activity_to_do 
FROM tab1;

db2官网对decode函数的用法解释

相关推荐
乐于分享的阿乐13 天前
2026年最新 DBeaver下载安装与使用保姆教程(详细图文+安装包)
mysql·db·dbeaver
2CM_Embed19 天前
TMS320F2837xD ePWM 的 DB 死区模块详解:AHC、ALC、AH、AL 模式与通道流向分析
db·al·ahc·死区·epwm·alc·ah
superonion062020 天前
【DB2】【Oceanbase】使用OMS将DB2迁移到Oceanbase测试
oceanbase·db
杨云龙UP1 个月前
ODA/Oracle 19c CDB/PDB 环境下报错ORA-65162:common user密码过期问题排查与处理_2026-05-15
linux·运维·数据库·oracle·dba·db
黄俊懿1 个月前
复合索引设计指南:最左前缀 & 字段排座次
数据库·sql·mysql·adb·性能优化·dba·db
黄俊懿2 个月前
MySQL主从复制:从“异步“到“GTID“,数据同步的进化之路
数据库·sql·mysql·oracle·架构·dba·db
曲幽2 个月前
我用fastapi-scaff搭了个项目,两天工期缩到两小时,老板以为我开挂了
python·api·fastapi·web·celery·cli·db·alembic·fastapi-scaff
那人如此可好3 个月前
MongoDB从零基础搭建到实战
mongodb·db
宝桥南山3 个月前
Microsoft Fabric - 试一下在Blazor应用中使用 GraphQL API去连接Lakehouse
microsoft·c#·asp.net·.netcore·fabric·db
Natalia_Portman3 个月前
springboot整合DolphinDB
java·数据库·spring boot·后端·db