从以 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把代码串给了我的选择。
希望对你有帮助。
我在 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把代码串给了我的选择。 希望对你有帮助。