CLOB 데이터 출력관련 질문드리겠습니다. 0 2 885

by 키문수 [2016.03.10 10:51:34]


안녕하세요 처음 가입하자마자 질문글이라 죄송합니다.

앞으로 열심히 공부하고 활동하겠습니다.

CLOB 데이터 컬럼에 예를들어 아래와 같은 텍스트 문자가 있습니다.

 

꽃샘추위는 초봄에 날씨가 풀린 뒤 다시 찾아오는 일시적인 추위를 가리키는 고유어이다.
꽃이 피는 것을 시샘하는 듯이 춥다고 해서 이 이름이 붙었다.
꽃샘추위가 오면 갑자기 쌀쌀해진 날씨 때문에 사람들은 다시 옷을 두껍게 입고,
일찍 새싹을 틔운 식물들은 얼어 죽기도 한다.

 

위 텍스트 문자열에서 '이름'이라는 특정 문자열로 검색하여

꽃이 피는 것을 시샘하는 듯이 춥다고 해서 이 이름이 붙었다.

이런식으로 2번째 라인 텍스트만 SELECT 할수있는 쿼리가 있을까요???

아님 따로 프로그램단에서 처리해야 하는 부분인가요?

 

 

 

 

 

by 마농 [2016.03.10 12:36:39]
WITH t AS
(
SELECT TO_CLOB(
'내가 그의 이름을 불러 주기 전에는
그는 다만
하나의 몸짓에 지나지 않았다.

내가 그의 이름을 불러 주었을 때
그는 나에게로 와서
꽃이 되었다.

내가 그의 이름을 불러 준 것처럼
나의 이 빛깔과 향기(香氣)에 알맞은
누가 나의 이름을 불러다오.
그에게로 가서 나도
그의 꽃이 되고 싶다.

우리들은 모두
무엇이 되고 싶다.
너는 나에게 나는 너에게
잊혀지지 않는 하나의 눈짓이 되고 싶다.'
) c FROM dual
)
SELECT c
     , REGEXP_SUBSTR(c, '.*'||v||'.*', 1, 1) v1
     , REGEXP_SUBSTR(c, '.*'||v||'.*', 1, 2) v2
     , REGEXP_SUBSTR(c, '.*'||v||'.*', 1, 3) v3
     , REGEXP_SUBSTR(c, '.*'||v||'.*', 1, 4) v4
     , REGEXP_SUBSTR(c, '.*'||v||'.*', 1, 5) v5
  FROM t
     , (SELECT '이름' v FROM dual)
 WHERE c LIKE '%'||v||'%'
;

 


by 쭌스 [2016.03.10 13:35:45]

마농님 답변을 많이 보는데 정말 대단하십니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입