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

xriantvc  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(264)

对不起,我不知道怎么形容这个标题。
使用查询(示例: Select SELECT PKEY, TRUNC (CREATEDFORMAT), STATISTICS FROM BUSINESS_DATA WHERE STATISTICS LIKE '% business_%' ),我可以显示包含值“business\u”的所有数据。
例如,数据字段可以包含以下内容: c01_ad; concierge_beendet; business_start; 或者也 skill_my; pre_initial_markt; business_request; topIntMaster; concierge_start; c01_start; 现在是否可以在一个temp中只输出另一列中的相应值?
例如,输出是这样的?

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

这意味着删除所有不是从业务开始的东西?这在sql查询中可能吗?我认为正则表达式不是正确的。

x9ybnkn6

x9ybnkn61#

我想你想要:

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

q7solyqu2#

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

相关问题