programing

오라클의 클로브에서 서브스트링을 추출합니다.

batch 2023. 8. 9. 20:37
반응형

오라클의 클로브에서 서브스트링을 추출합니다.

나는 데이터를 가진 집단을 가지고 있습니다.

<?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US" default-locale="en_US"><static-content language-id="en_US"><![CDATA[<script type="text/javascript">
function change_case()
{
    alert("here...");
    document.form1.type.value=document.form1.type.value.toLowerCase();
}
</script>

<form name=form1 method=post action=''''>
<input type=text name=type value=''Enter USER ID'' onBlur="change_case();">
<input type=submit value=Submit> </form>
</form>]]></static-content></root>

onblur 속성이 있는 라인을 추출하려고 합니다. 이 경우:

<input type=text name=type value=''Enter USER ID'' onblur="change_case();">

Tom Kyte는 SQL 또는 PL/SQL 코드에서 clob에서 varchar2를 가져오는 방법을 말합니다.

http://asktom.oracle.com/pls/asktom/f?p=100:11:0 ::아니오:P11_QUESTION_ID:367980988799

그리고 varchar2가 있을 때는 SUSTR 또는 REGEXP_SUBSTR 함수를 사용하여 라인을 추출할 수 있습니다.

http://docs.oracle.com/cd/B14117_01/server.101/b10759/functions147.htm#i87066

http://docs.oracle.com/cd/B14117_01/server.101/b10759/functions116.htm

SQL 코드를 사용하려면 이 요청을 생성할 수 있습니다.

select col1, col2, func1(dbms_lob.substr( t.col_clob, 4000, 1 )) from table1 t

그리고 PL/SQL 함수 "func1"에서 당신은 SUSTR 또는 다른 함수들을 사용하여 당신이 원하는 것을 입력 문자열로 할 수 있습니다.

문제를 세분화합니다.CLOB에서 특정 부분 문자열을 포함하는 텍스트 행을 추출하려고 합니다.귀하의 요구사항에 대한 두 가지 해석이 가능합니다.

옵션 1.

  1. CLOB를 일련의 줄로 나눕니다. 예를 들어, "줄"이 실제로 의미하는 것이라면 새 줄/캐리지 리턴 문자로 나눕니다.
  2. 각 행에 하위 문자열이 포함되어 있는지 확인합니다.onblur만약 그렇다면, 당신은 당신의 라인을 찾은 것입니다.

옵션 2.

만약 당신이 실제로 라인을 의미하는 것이 아니라, 당신이 원한다면.<script>...</script>html fragment, 당신은 유사한 논리를 사용할 수 있습니다.

  1. 의 첫 번째 항목 검색<script>.
  2. 다음 항목 검색</script>그 이후에다음에서 하위 문자열 추출<script>로.</script>.
  3. 하위 문자열 검색onblur발견되면 하위 문자열을 반환합니다.그렇지 않으면 다음 항목을 찾습니다.<script>2단계로 이동하여 헹구고 반복합니다.

언급URL : https://stackoverflow.com/questions/10129998/extract-a-substring-from-clob-in-oracle

반응형