Поле данных - поиск и запись значения в новое поле данных (Oracle) - PullRequest
0 голосов
/ 19 июня 2020

Извините, я не знаю, как описать это как заголовок.

С помощью запроса (пример: Select SELECT PKEY, TRUNC (CREATEDFORMAT), STATISTICS FROM BUSINESS_DATA WHERE STATISTICS LIKE '% business_%') я могу отобразить все данные, содержащие значение "business_xxxxxx".

Например, поле данных может иметь следующее содержимое: c01_ad; concierge_beendet; business_start; или также skill_my; pre_initial_markt; business_request; topIntMaster; concierge_start; c01_start;

Возможно ли теперь во временном режиме выводить соответствующее значение в другой столбец?

Значит, результат выглядит так, например?

PKEY | TRUNC(CREATEDFORMAT) | NEW_STATISTICS
1    |   13.06.2020         | business_start
2    |   14.06.2020         | business_request

Это означает удаление всего, что не начинается с business_xxx? Возможно ли это в запросе SQL? Я думаю, что RegEx не подходит.

Ответы [ 2 ]

0 голосов
/ 19 июня 2020

Вы также можете использовать следующие regexp_substr:

SQL> select regexp_substr(str,'business_[^;]+') as result
  2  from
  3  --sample data
  4  (select 'skill_my; pre_initial_markt; business_request; topIntMaster; concierge_start; c01_start;' as str from dual
  5  union all
  6  select 'c01_ad; concierge_beendet; business_start;' from dual);

RESULT
--------------------------------------------------------------------------------
business_request
business_start

SQL>
0 голосов
/ 19 июня 2020

Думаю, вы хотите:

select
    pkey,
    trunc(createdformat) createddate,
    regexp_substr(statistics, 'business_\S*') new_statistics
from business_data
where statistics like '% business_%'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...