보통 줄바꿈은 CHR(13)||CHR(10) 한쌍으로 구성되는데.
위처럼 쿼리 직접 수행하면 CHR(10) 만으로 구성되네요.
실제 DB 에 저장된 데이터 패턴을 확인해 보세요.
어떤 구성인지? CHR(13)||CHR(10) 인지? CHR(10) 인지? 섞여 있는지?
dump 를 통해 확인 가능합니다.
SELECT DUMP(txt) FROM t;
어떤 구성이냐에 따라 구현 방법이 다를 수 있습니다.
-- 1. 연속 CHR(13)||CHR(10) 제거 및 마지막 줄바꿈 제거 추가 , REPLACE(txt, CHR(10)||CHR(13)) v1 , REGEXP_REPLACE( REPLACE(txt, CHR(10)||CHR(13)) , CHR(13)||CHR(10)||'$') v2 -- 2. 연속 CHR(10) 제거 , REGEXP_REPLACE(txt, CHR(10)||'+', CHR(10)) v1 , REGEXP_REPLACE( REGEXP_REPLACE(txt, CHR(10)||'+', CHR(10)) , CHR(10)||'$') v2 -- 3. 혼합인 경우 , REGEXP_REPLACE(txt, '('||CHR(13)||CHR(10)||'|'||CHR(10)||')+', '\1') v1 , REGEXP_REPLACE( REGEXP_REPLACE(txt, '('||CHR(13)||CHR(10)||'|'||CHR(10)||')+', '\1') , '('||CHR(13)||CHR(10)||'|'||CHR(10)||')$') v2