使用场景
在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;