Как выбрать второй раздел данных столбца из базы данных оракула - PullRequest
0 голосов
/ 01 мая 2019

Я хочу выбрать данные из таблицы Oracle, тогда как столбцы таблицы содержат данные в виде [ex: key, value] значений;поэтому здесь я хочу выбрать второе разбиение, т. е. значение

данных столбца таблицы, как показано ниже:

column_data
++++++++++++++
asper,worse
tincher,good
golder
null                       -- null values need to eliminate while selection
www,ewe

из приведенных выше данных, требуемый вывод, как показано ниже:

column_data
+++++++++++++
worse
good
golder
ewe

Пожалуйста, помогите мне с вопросом

1 Ответ

1 голос
/ 01 мая 2019

Согласно предоставленным вами данным, здесь есть два варианта:

  • result1: одно регулярное выражение (получите второе слово , если оно существует; в противном случае получите первое)
  • result2: SUBSTR + INSTR комбинация

SQL> with test (col) as
  2    (select 'asper,worse'  from dual union all
  3     select 'tincher,good' from dual union all
  4     select 'golder'       from dual union all
  5     select null           from dual union all
  6     select 'www,ewe'      from dual
  7    )
  8  select col,
  9         nvl(regexp_substr(col, '\w+', 1, 2), regexp_substr(col, '\w+', 1,1 )) result1,
 10         --
 11         nvl(substr(col, instr(col, ',') + 1), col) result2
 12  from test
 13  where col is not null;

COL          RESULT1              RESULT2
------------ -------------------- --------------------
asper,worse  worse                worse
tincher,good good                 good
golder       golder               golder
www,ewe      ewe                  ewe

SQL>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...