在oracle sql中解析字符串
我想在SQL中解析一个字符串,但是,我不知道如何去做 这是我的密码:在oracle sql中解析字符串,sql,oracle,Sql,Oracle,我想在SQL中解析一个字符串,但是,我不知道如何去做 这是我的密码: SELECT distinct sku, A_CLUSTER_DESC FROM TOOL_SAS_DATA WHERE sku in (1099895, 1099896, 1000960, 1000960, 1000898 ); 我的输出是: || sku || A_Cluster_desc || 1 ||1099895|| 'GG SAS AP_1234 A'|| 2 ||1
SELECT distinct sku, A_CLUSTER_DESC
FROM TOOL_SAS_DATA
WHERE sku in (1099895,
1099896,
1000960,
1000960,
1000898
);
我的输出是:
|| sku || A_Cluster_desc ||
1 ||1099895|| 'GG SAS AP_1234 A'||
2 ||1099896|| 'GG SAS AP_1113 B'||
等等
我只想在A_Cluster\u desc下输出
它说的是AP_1234
或AP_1113
,只是排除了它周围的一切
编辑:
抱歉,如果不清楚,我只想输出AP_1234或AP_###仅用于A_CLUSTER\u DESC
部分,使用:
select regexp_substr(A_CLUSTER_DESC, '(.*?GG SAS )(.*?) ',1,1,'',2) from TOOL_SAS_DATA;
仅针对A\u CLUSTER\u DESC
零件,使用:
select regexp_substr(A_CLUSTER_DESC, '(.*?GG SAS )(.*?) ',1,1,'',2) from TOOL_SAS_DATA;
它是否总是像AP_1234一样,包括前缀和后缀?它总是说AP_,后面有4个数字。您需要uesregexp_substr()
和正则表达式它是否总是与AP_1234相同的模式,包括前缀和后缀?它总是说AP_,后面有4个数字。您需要uesregexp_substr()
和正则表达式