数据字段 - 在新数据字段中搜索和写入值 (Oracle)

Data field - search and write value in new data field (Oracle)

抱歉,我不知道如何描述这个标题。

通过查询(示例: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;

现在是否可以在temp-only输出另一列中的相应值?

所以输出看起来像这样,例如?

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

这意味着删除所有不以 business_xxx 开头的内容?这在 SQL 查询中可能吗?我认为 RegEx 不合适。

我想你想要:

select
    pkey,
    trunc(createdformat) createddate,
    regexp_substr(statistics, 'business_\S*') new_statistics
from business_data
where statistics like '% business_%'

您还可以使用以下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>