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函数的用法解释

相关推荐
sg_knight3 天前
SQL 中的 IFNULL 函数是什么?
数据库·sql·mysql·oracle·database·关系型数据库·db
_oP_i5 天前
Kingbase 设计上就不提供实时准确行数
db
曲幽11 天前
FastAPI数据库实战:从SQLAlchemy原理到高效连接管理,告别性能瓶颈
python·sqlite·flask·fastapi·web·sqlalchemy·db
潇潇云起14 天前
mapdb
java·开发语言·数据结构·db
亚林瓜子1 个月前
mysql命令行手动导入csv数据到指定表
数据库·mysql·gui·csv·cli·db·import
太阳伞下的阿呆2 个月前
kafka高吞吐持久化方案(1)
分布式·mysql·kafka·db·高吞吐
好好研究2 个月前
SSM整合(一)
java·spring·mvc·mybatis·db
敲上瘾2 个月前
C++ ODB ORM 完全指南:从入门到实战应用
linux·数据库·c++·oracle·db
宝桥南山3 个月前
Microsoft Fabric - 试一下在前端应用中使用 GraphQL API去连接Lakehouse
microsoft·reactjs·azure·fabric·graphql·db