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 40418 게시물 읽기
No. 40418
XMLAGG 사용시 &로 바뀌는 현상
작성자
XML
작성일
2014-04-01 09:26
조회수
11,231

SELECT NVL(SUBSTR(XMLAGG(XMLELEMENT(X, TRIM('Pipe Lay & Storage System M/C 완료'))).EXTRACT('//text()'),0),' ') AS ACTY_DESC
  FROM DUAL 
 

위 쿼리를 실행하면 아래와 같이 '&' 가  '&'  로바뀝니다.

원래 쿼리가 긴데 문제점만 표현하기 위해 쿼리를 간략히 표현하였습니다.

실행전 : 'Pipe Lay & Storage System M/C 완료'

실행후 : 'Pipe Lay & Storage System M/C 완료'

 

'&' 가  '&'  로 바뀌지 않고 '&' 로 표현될수 있는 방법을 부탁드립니다.

 

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

Group By 에서 문자열 합치기는
버젼별로 몇가지 다른 방법이 있는데...
http://www.gurubee.net/article/55512
각 방법마다 특징 및 장단점이 있습니다.
 9i XMLAgg 는
    문법을 이해하기 어렵고,
    몇몇 특수문자(&, <, >, ' 등등)가 변경되는 단점이 있고
    장점으로는 getCLOBVal 을 사용하여 4000Byte 이상도 가능하다는거
10g wm_concat 은
    문법이 심플하고 분석함로도 사용이 가능하지만
    정렬 기능이 안되는 단점이 있고, 비공식 숨은 함수죠.
11g ListAgg 는
    딱, Group By 에서 문자열 합치기 전용 함수죠.

마농(manon94)님이 2014-04-01 11:29에 작성한 댓글입니다.

현재 버전이 10g 라서 ListAgg는 사용할 수 없고 wm_concat는 사용할 수 있는 권한이 없습니다.

XMLAgg를 사용할 수 밖에 없는데 그럼 특수문자를 변경되지 않게 하는 방법는 없는건가요?

 

XML님이 2014-04-01 11:40에 작성한 댓글입니다. Edit

1. 계층구조 쿼리를 이용하여 Sys_connect_by_path
2. XmlAgg 로 구한 값에 다시 한번 ExtractValue 함수를 사용
   ExtractValue(XMLElement(x, acty_desc), '//text()')

마농(manon94)님이 2014-04-01 13:09에 작성한 댓글입니다.
이 댓글은 2014-04-01 15:14에 마지막으로 수정되었습니다.

ExtractValue를 사용하니 특수문자도 잘 변경되네요.

 

감사합니다.

 

 

XML님이 2014-04-01 17:41에 작성한 댓글입니다. Edit

ExtractValue와 .getClobBal()을 동시에 같이 사용 할 수 없나요?

ㅁ님이 2015-05-15 14:54에 작성한 댓글입니다.
이 댓글은 2015-05-15 14:55에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
40423오라클 트리거에 관해서 질문드려요 [2]
도토리
2014-04-08
6968
40421오라클 데이터베이스 대용량 데이터 처리 방식 문의
박래준
2014-04-04
7013
40420구간별 데이터를 일자별로 출력? [1]
sql초보자
2014-04-03
7028
40418XMLAGG 사용시 &amp;로 바뀌는 현상 [5]
XML
2014-04-01
11231
40417rollup을 통한 소계, 총계 가져오기 [1]
자바천재
2014-03-28
7905
40415대용량 데이터 처리질문
김한결
2014-03-26
6630
40414데이터 통합 쿼리질문 [5]
량디
2014-03-25
7079
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다