数据字段 - 在新数据字段中搜索和写入值 (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>
抱歉,我不知道如何描述这个标题。
通过查询(示例: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>