一、简要概述
- decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)
该函数的含义如下:
IF 条件=值1 THEN
RETURN(翻译值1)
ELSIF 条件=值2 THEN
RETURN(翻译值2)
......
ELSIF 条件=值n THEN
RETURN(翻译值n)
ELSE
RETURN(缺省值)
END IF
decode(字段或字段的运算,值1,值2,值3)
这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3;当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多。
select t1.busi_sys_order_attr,
t1.busi_sys_order,
t1.busi_intf_seq,
decode(t1.task_status,
'0',
'未处理',
'1',
'处理中',
'2',
'处理成功',
'3',
'处理失败') as task_status,
t1.task_count,
t1.create_date
from bst_busi_msg_his t1
where t1.busi_sys_order_attr is not null
--and t1.busi_sys_order_attr =42
and t1.busi_sys_order is not null
and to_char(create_date, 'YYYY-MM-DD') >= '2020-12-12'
--and t1.task_status = 2
group by t1.busi_sys_order_attr,
t1.busi_sys_order,
t1.busi_intf_seq,
t1.task_status,
t1.task_count,
t1.create_date