CASE表达的缩写替代WHEN?

问题描述 投票:0回答:1

我有一个SQL表达式将一些数据从一种格式映射到另一种格式:

CASE field
WHEN 'AU' THEN '036'
WHEN 'AT' THEN '040'
WHEN 'BE' THEN '056'
-- and so on
END

不幸的是,我需要将这个表达式放入一个长度受限的文本框(NetSuite公式字段)中,并且我需要的选项数量不适合。 Oracle中CASE表达式是否有一个不那么详细的替代方法,所以我可以使用更少的字符来编写它?

sql oracle case netsuite
1个回答
6
投票

是的,使用DECODE() function

DECODE(field,
'AU', '036',
'AT', '040',
'BE', '056'
)
© www.soinside.com 2019 - 2024. All rights reserved.