0

我有一个字符串(clob),其中包含带有提示的 SQL 查询,我需要从 sql 代码中删除这些提示。

所以这:

select 
/*+ ALL_ROWS */ 
/* 2014-12-08 08:26:40.533 -6e99e394:14a2a127782:-466(TXN_ID:-1) */ 
ID, ORIGIN_TICKET_ID, LIFECYCLE_STATUS ... 

应该看起来像:

select ID, ORIGIN_TICKET_ID, LIFECYCLE_STATUS ... 

我尝试使用 replace 和 REGEXP_REPLACE 但到目前为止没有运气。

4

1 回答 1

1

编辑处理 CLOB…</p>

伴随着一些东西

SELECT 'SELECT '
  || TRIM(SUBSTR(str, LENGTH(str) - INSTR(REVERSE(str), '/*') + 2)) cleanedStatement
FROM
  (SELECT DBMS_LOB.SUBSTR(main.c, 4000, 1) str FROM Main
  );

只要评论(提示与否)都放在语句的开头,就应该提供请求。

于 2014-12-21T09:35:21.807 回答