我尝试解码包含1.01 channel 1
和2.04 channel 2
等名称的列
为此,我首先仅根据第一个数字使用Decode。但是现在我需要进一步拆分通道2。
我试着用这个:
Decode(Substr(ch.sales_chain_desc,1,4), '1*', 'Channel 1', '2.01', 'Channel 2 a', '2.10', 'Channel 2 b', '2.02', 'Channel 2 c', 'Other')
然而它给出了错误的结果。是否应该使用任何其他字符而不是*(asterix)
答案 0 :(得分:1)
在这个案例中使用case可能更好......
CASE
WHEN ch.sales_chain_desc LIKE '1%' THEN 'Channel 1'
WHEN ch.sales_chain_desc = '2.01' THEN 'Channel 2 a'
WHEN ch.sales_chain_desc = '2.10' THEN 'Channel 2 b'
WHEN ch.sales_chain_desc = '2.02' THEN 'Channel 2 c'
ELSE 'Other'
END