需求:项目中有个需求,报表中用户的数据中 有系统内或系统外,但真实数据有国外分公司填入的是英文,External和Internal,真正汇总分组时会将这个字段分成好几组,有问题,所以在汇总逻辑之前update掉:
解决:当然还是用case when ,但一定跟select语句中的case when区别开来。
UPDATE DWD_XXX_XXX_XXXX
SET SYSTEM_INOUTSIDE = (
CASE
WHEN UPPER(SYSTEM_INOUTSIDE) = 'EXTERNAL' THEN
'系统外'
WHEN UPPER(SYSTEM_INOUTSIDE) = 'INTERNAL' THEN
'系统内'
ELSE
SYSTEM_INOUTSIDE
END
)
WHERE
REPORT_TYPE IN ('A', 'B','C')