Oracle正则表达式:在特定字符串之后查找文本

编程语言 2026-07-09

如何在Oracle的 VARCHAR字段中返回单引号之间的文本?

该字段包含如下文本模式。

我需要找到字符串P_TYPE=>,然后提取引号之间的文本。

在源列中,P_TYPE=> 的前后均有文本。

这是第一条记录,包含P_TYPE=>'This is the piece I need',以及后面的大量文本。

这是第二条记录,包含P_TYPE=>'This is the next record ',以及更多文本。

我想返回以下字符串:

This is the piece I need

This is the next record

解决方案

你可以使用Oracle的 REGEXP_SUBSTR 函数

SELECT REGEXP_SUBSTR(your_column, 'P_TYPE=>''([^'']+)''', 1, 1, NULL, 1) AS extracted_text
FROM your_table;
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章