我有一个包含以下值的字段,现在我想仅提取该字段值中包含"xyz"的行,请帮忙处理一下。
Mydata_xyz_aug21
Mydata2_zzz_aug22
Mydata3_xyz_aug33
还有一个要求
我想从下面的字符串中仅提取“aIBM_MyProjectFile”,你能帮忙吗?
finaldata/mydata/aIBM_MyProjectFile.exe.ld
我尝试过这个方法,但它没有起作用。
select
regexp_substr('FinalProject/MyProject/aIBM_MyProjectFile.exe.ld','([^/]*)[\.]') exp
from dual;
WHERE REGEXP_LIKE(col, '^[^_]*_xyz_[^_]*$');
和regexp_substr('FinalProject/MyProject/aIBM_MyProjectFile.exe.ld', '.*/([^.]+)', 1, 1, NULL, 1)
。 - Wiktor Stribiżew'^[^_]*_xyz_[^_]*$'
和regexp_substr
想要做什么?你想获取什么值?是在两个_
之间的值吗?可以尝试使用regexp_substr('Mydata_xyz_aug21','_([^_]+)_', 1, 1, NULL, 1)
。 - Wiktor Stribiżewregexp_substr('Mydata_xyz_aug21','_([^_]+)_', 1, 1, NULL, 1)
。 - Wiktor Stribiżew