【发布时间】:2019-02-19 05:28:04
【问题描述】:
我有一个包含以下值的字段,现在我只想提取下面提到的字段值中带有“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;
【问题讨论】:
-
没有用 @ran_0315 返回了 aIBM_MyProjectFile.exe.ld 但是,我只想得到一个 IBM_MyProjectFile
-
添加更多样本数据,并指定预期结果。
-
试试
WHERE REGEXP_LIKE (col, '^[^_]*_xyz_[^_]*$');和regexp_substr('FinalProject/MyProject/aIBM_MyProjectFile.exe.ld','.*/([^.]+)', 1, 1, NULL, 1)。 -
@WiktorStribiżew 在 Oracle 中返回了 IBM_MyProjectFile.exe。有没有办法只获取没有扩展名的文件名?
-
我更新了我上面的评论建议,请检查并让他们知道它们是否适合你。
标签: sql regex oracle regexp-substr