从以 VARCHAR2 转换的 BLOB 中提取子字符串

Extracting substring from BLOB converted in VARCHAR2

我在 Oracle 中有这个灵活的搜索:

select UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(p_targetCarts, 4000,1)) 
from {OrderProposal}

结果是这样的:

�srjava.util.ArrayListx��a�Isizexpwt 0000031072x

�srjava.util.ArrayListx��a�Isizexpwt 0000031087x

�srjava.util.ArrayListx��a�Isizexpwt 0000032360x

�srjava.util.ArrayListx��a�Isizexpwt 0000040099x

�srjava.util.ArrayListx��a�Isizexpwt 0000040100x

我现在要提取其中的代码。该代码是以'00000'开头并在'x'字符之前结束的数字。

有办法做到这一点吗?

这行得通吗?

select REGEXP_REPLACE(UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(p_targetCarts, 4000,1)),'[[:alpha:]]')
  from {OrderProposal}

我找到了解决方案:

select UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(p_targetCarts, 11,60)) 
from {OrderProposal}

这样我就trim把代码串给了我的选择。 希望对你有帮助。