Преобразовать текстовое значение имени столбца в столбец в запросе - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь динамически извлечь значение столбца с именем '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:

enter image description here

1 Ответ

0 голосов
/ 26 сентября 2019

Если вы не можете использовать столбцы в качестве значений в DECODE, вы всегда можете написать регулярное выражение CASE:

SELECT
    CASE metric WHEN 'METRIC'  THEN abc
                WHEN 'MODEL'   THEN xyz
                WHEN 'COUNTRY' THEN US END AS output
FROM table_test;
...