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 34969 게시물 읽기
No. 34969
한 컬럼의 값 중 구분자를 제외하고 합 구하기
작성자
임재영
작성일
2008-12-15 18:22
조회수
3,062

눈팅만 하다가 이렇게 글을 올리게 되었습니다...


예를 들어 데이터가 아래와 같이 이루어져 있습니다.



level      |     ID         |                  value 

  5               2204567    123.0948/75473.7565/35514.058

  7               2204567    483.548757/27737/6277.575


.

.

.


보시다시피 level 5에서 value에는 특정구분자'/'로 숫자들이 구분되어 있습니다. 바로 이 숫자들의 합을 구하는것이 저의 의문점입니다.

value는 sys_connect_by_path로 구해진 값입니다.


고수분들의 절대적인 도움이 간절합니다...그럼...(__)

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

/  이게 무조건 3개 인가요?


instr 로 하심...

666님이 2008-12-16 12:41에 작성한 댓글입니다.
이 댓글은 2008-12-16 12:44에 마지막으로 수정되었습니다. Edit
with tmp as (
select '5' lvl, '2204567' id, '123.0948/75473.7565/35514.058' value from dual union all
select '7' lvl, '2204567' id, '483.548757/27737/6277.575' value from dual
)
select (
        select sum(
             to_number( 
                 substr(tmp.value,
               decode(level,1,1, instr(tmp.value,'/',1, level -1 ) +1 ),
         abs(instr(tmp.value,'/',1, level ) - decode(level,1,1, instr(value,'/',1, level -1 ) +1 )))
                   )      
      ) val
       from dual  connect by level <= length(translate( value , '/0123456789.','/')) +1) val
 from tmp

하다보니 완전 억지 쿼리가...ㅋㅋ;
김기현(dndnddl)님이 2008-12-16 17:16에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
34972over()시 중복데이터 제거 방법좀 알려주세요 [2]
송민아
2008-12-16
4790
34971create directory에 관해서 설명 좀 부탁 드립니다.
방이방이
2008-12-16
2043
34970ㅠㅠ 제가 쿼리를 잘못 짠건가요? ㅠㅠ 원하는 값이 안나오네요. 도아주세요 [3]
김광성
2008-12-16
2426
34969한 컬럼의 값 중 구분자를 제외하고 합 구하기 [2]
임재영
2008-12-15
3062
34968[쿼리질문]자기값보다 작은 값의 개수COUNT [3]
이동훈
2008-12-15
2433
34967수식계산..? [1]
MR강
2008-12-15
2244
34966매 시간마다 30분 단위로 통계를 내고 싶은데... [1]
박문로
2008-12-15
4629
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다