作用:
将查询结果翻译成其他的值(用其他形式表现出来)
使用方法:
Select decode(字段,值1,翻译值,值2,翻译值 ....)
From 表名
Where 条件..
其中:
字段 为要选择的表名中定义的字段
Demo:
select a.*,
decode(AMS_State,
1,'成功',
2,'失败:数据量不一致','待SAP修正后执行转换'
) AMS_MSG
from (select t.tbdate,
decode(t.tbjg, '成功', '成功', '失败:' || msg) SAP_MSG,
decode(t.tbjg, '成功', 1, 0) SAP_State,
decode(t.tbjg,
'成功',
(select decode(count(1), 0, 1, 2)
from T_LOG_IMPUTFOND
where (RECORDSAPCOUNT <> RECORDAMSCOUNT or
FMETADATASAPCOUNT <> FMETADATAAMSCOUNT)
and datadate = to_char(t.tbDate, 'yyyymmdd')),
3) AMS_State
from (select tbdate, tbjg, msg
from t_Intf_Log_Get
order by tbdate desc) t
where rownum < 11) a
其中参考 第一个decode函数中,AMS_State字段是数字,后面接上当sql查询出该值等于1时显示的汉字,等于2时显示的汉字