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
운영게시판
최근게시물
PostgreSQL Q&A 8440 게시물 읽기
No. 8440
구분자로 나누어진 문자열을 Row로 변환
작성자
최인한(mantodea)
작성일
2009-09-04 17:05ⓒ
2009-09-04 17:09ⓜ
조회수
7,279

PostgreSQL (Postgre Plus Advanced Server) 에 맞게 수정해 보았습니다.
참고하세요..
(copy_t 테이블은 1~20000 정수가 들어있는 테이블입니다.)

v_list := '111,222,333,444,555,';

SELECT *
FROM tb_c99_docinfo
WHERE docid IN (
  select substr(txt, s_no, (e_no-s_no)+1))::integer num
     from (
         select t2.no, t2.no-1 lvl, t1.len, t1.txt,
           case when t2.no-1>0 then instr (txt, ','::text, 1, t2.no-1) + 1 else 1 end s_no,
          instr (txt, ','::text, 1, t2.no)-1 e_no
         from (
               select v_list txt, ( length (v_list) ) - length (replace (v_list, ',', '')) + 1 len  from dual a
        ) t1, copy_t t2
     where t2.no<=t1.len
     )
     where no )
;



<오라클버젼>
참고: http://database.sarang.net/?inc=read&aid=35277&criteria=oracle&subcrit=&id=&limit=20&keyword=%B1%B8%BA%D0%C0%DA&page=1

SELECT *
FROM tb_c99_docinfo
WHERE docid IN (
        SELECT TRIM( SUBSTR (txt, INSTR (txt, ',', 1, LEVEL) + 1, INSTR (txt, ',', 1, LEVEL + 1) - INSTR (txt, ',', 1, LEVEL) - 1) ) AS token
        FROM (
           SELECT ',' || docattach || ',' txt
           FROM tb_c99_docinfo a
           WHERE docid = 125
        )
         CONNECT BY LEVEL <= (LENGTH (txt) - 2) - LENGTH (REPLACE (txt, ',', '')) + 1
);

이 글에 대한 댓글이 총 1건 있습니다.
select unnest(string_to_array('111,222,333,444,555', ','));         
 unnest
--------
 111
 222
 333
 444
 555
(5 rows)

8.4 입니다.
tyro님이 2009-09-04 22:41에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
8468휴대폰 번호 입력시의 사용자 정의 형식에 대해서 [2]
souler
2009-09-08
6961
8467데이터베이스 DDL 버전 관리 기법 문의합니다 [1]
김상기
2009-09-08
6906
8466[Greenplum] Copy 사용시 Select 문장 관련 [1]
강가딘
2009-09-06
6578
8440구분자로 나누어진 문자열을 Row로 변환 [1]
최인한
2009-09-04
7279
8439select 다시 질문.. ㅠ.ㅠ
초보
2009-09-04
6331
8438[Greenplum] 테이블 Drop 과 View 관련.. [1]
강가딘
2009-09-04
6669
8413[Greenplum]테이블 생성일자 [1]
강가딘
2009-09-03
7155
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다