oracle中根据不同条件修改一个字段值

需求:项目中有个需求,报表中用户的数据中 有系统内或系统外,但真实数据有国外分公司填入的是英文,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')
    原文作者:MrGrant
    原文地址: https://blog.csdn.net/yangang1223/article/details/103313356
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞