我正在尝试使用从解码函数推导出的文本来动态获取名为“ abc”的列的值。解码功能将返回列的文本值,即'abc',但不会动态返回基础值。有没有办法做到这一点 ?
SELECT LOWER(DECODE('METRIC','METRIC','abc','MODEL','xyz','COUNTRY','US')) as abc FROM table_test
预期结果:
abc
---
1.2
1.5
1.6
1.7
table_test:
答案 0 :(得分:0)
如果不能将列用作DECODE
中的值,则可以始终编写正则CASE
表达式:
SELECT
CASE metric WHEN 'METRIC' THEN abc
WHEN 'MODEL' THEN xyz
WHEN 'COUNTRY' THEN US END AS output
FROM table_test;