database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 39372 게시물 읽기
No. 39372
오라클 이럴 경우 문자변환은 어떻게???
작성자
조성훈(usereden)
작성일
2012-03-30 15:35ⓒ
2012-03-30 22:30ⓜ
조회수
4,929

안녕하세요. 쉽게 해결될 알고 시도해 보았는데 이외로 골치를 썩이네요.


 현재값 : [안녕하세요] 반갑습니다. [또 만났군요.] 다음에 꼭 놀러오세요.  CHR(13) [그럼 안녕히]
                                                                                                                                -------------------------------- 
                                                                                                                                [그럼 안녕히] 앞에 엔터값 존재



라는 컬럼 값이 존재한다면,
 
맨 앞에 [안녕하세요]는 무조건 [[[안녕하세요]]] 으로,
[그럼 안녕히]처럼 앞에 줄바꿈 존재하면 마찬가지로 [[[그럼 안녕히]]]으로

중간에 그냥 있는 [또 만났군요.]는 그냥 [또 만났군요.]으로



- 결과값 : 결과값은 엔터(CHR(13) ) 제거

[[[안녕하세요]]] 반갑습니다. [또 만났군요.] 다음에 꼭 놀러오세요.  [[[그럼 안녕히]]]
라는 결과값 도출도 쿼리로 가능한가요. 


쉽게 예를 들었지만 실제 데이타는,
항상 첫줄 문장은 '[...]'으로 시작하지만 그 안의 글자수는 가변적이고, 다음 [ ]는 어디에서 튀어 나올지 모릅니다.
물론 전체 글자수도 가변입니다. replace로 해결하려 했지만 result값에 대한 문구들이 중구난방이라 자릿수로 짜르기도 애매하네요.
조언 바랍니다. 

 

이 글에 대한 댓글이 총 2건 있습니다.

WITH t AS
(
SELECT '[안녕하세요] 반갑습니다. [또 만났군요.] 다음에 꼭 놀러오세요.'
    || CHR(13) || '[그럼 안녕히]' v
  FROM dual
)
SELECT v
     , REGEXP_REPLACE(v, '(^|'||CHR(13)||')\[([^][]+)\]', '\1[[[\2]]]') x
  FROM t
;

마농(manon94)님이 2012-04-02 10:44에 작성한 댓글입니다.
이 댓글은 2012-04-02 10:45에 마지막으로 수정되었습니다.

정말 감사합니다. 유용하게 사용하겠습니다.

조성훈님이 2012-04-02 15:16에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
39376오라클 쿼리 질문드립니다 [1]
진현철
2012-04-04
3827
39374차수 구하는 쿼리 단순하게 할 수 없을까요. [1]
김정묵
2012-04-02
5418
39373대용량 몇천만건 데이터를 조회할때.... [1]
파주
2012-04-01
4196
39372오라클 이럴 경우 문자변환은 어떻게??? [2]
조성훈
2012-03-30
4929
39371단위별 동일 값 설정하기 (쿼리문의) [3]
정용석
2012-03-30
4332
39370data gaurd backupset 삭제
qa
2012-03-29
3339
39369반복되는 INLINEVIEW 성격의 쿼리를 WITH로 빼는게 성능에 좋을까요? [1]
초짜
2012-03-29
4019
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다