sql - 如何通过oracle regexp_substr() 提取“/”字符之前的部分
问题描述
我想在 1st 之前提取部分/
,我该怎么做?
SELECT REGEXP_SUBSTR('prAct1-03/cPMI-01/iPEPC9-01/t35s-08','(pr.*)/',1,1) as promoter
FROM dual;
没用,而且似乎 oracle 不支持 Lookahead 和 Lookbehind。谢谢!
解决方案
我会在这里使用基本字符串函数:
SELECT SUBSTR(col, 1, INSTR(col, '/') - 1) AS first_part
FROM yourTable;
演示
如果您真的想使用正则表达式,请尝试:
SELECT REGXP_SUBSTR(col, '^[^/]+')
FROM yourTable;
推荐阅读
- amazon-web-services - 如何自定义 AWS 文本?
- c++ - 为什么指向列表的指针创建一个二维列表结构
- javascript - 如何在变量中添加条件?
- python - 为什么创建新的 pandas 列会导致原始列发生变化?
- monaco-editor - 如何在 monaco-editor 0.25.2 中删除“查看问题 (Alt+F8)”?
- python - Tkinter 标签不会出现在 Labelframe 中
- android - 我如何在这个可组合函数中传递图标?这样我就可以重复使用它
- python - asyncio.Task 中的“async with”不起作用
- sass - gmake 在目标上发出“权限被拒绝”错误。为什么?
- javascript - 概念:异步 - 用 Promise 等待返回结果{
}