我有一个SQL表达式将一些数据从一种格式映射到另一种格式:
CASE field
WHEN 'AU' THEN '036'
WHEN 'AT' THEN '040'
WHEN 'BE' THEN '056'
-- and so on
END
不幸的是,我需要将这个表达式放入一个长度受限的文本框(NetSuite公式字段)中,并且我需要的选项数量不适合。 Oracle中CASE表达式是否有一个不那么详细的替代方法,所以我可以使用更少的字符来编写它?
是的,使用DECODE()
function:
DECODE(field,
'AU', '036',
'AT', '040',
'BE', '056'
)