小编Ste*_*eve的帖子

如何从 SQL 中的文本 CLOB 字段中提取值

我有一个 SQL 表列 (BINARYTEXT),其中填充了CLOB。这个 CLOB 中有许多属性,例如,

CE.EffDate="20140106";
CE.CCY="EUR";
CE.TransactionType="STANDARDEUROPEAN";
CE.CAL="LON";
Run Code Online (Sandbox Code Playgroud)

我只需要提取双引号之间包含的 CE.TransactionType 属性的值,即“STANDARDEUROPEAN”。请注意,CLOB 不包含 XML,仅包含上述属性,没有开始或结束标记。

当我在命令中指定字符串时,我已经弄清楚如何使用 REGEXP_SUBSTR 函数来执行此操作:

select REGEXP_SUBSTR('CE.TransactionType="STANDARDEUROPEAN"', '="[^"]+') transtype
from DUAL
Run Code Online (Sandbox Code Playgroud)

返回:=“标准欧洲”

我无法将其操纵为使用 CLOB 作为字符串。这不起作用:

select REGEXP_SUBSTR(BINARYTEXT,'CE.TransactionType="STANDARDEUROPEAN"', '="[^"]+')  transtype
from DUAL
Run Code Online (Sandbox Code Playgroud)

这会出现一个空白整数错误,尽管我不确定为什么它需要一个整数。

regex sql oracle clob substr

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

clob ×1

oracle ×1

regex ×1

sql ×1

substr ×1