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 41827 게시물 읽기
No. 41827
타입변환(to_number) 관련 문의 드립니다.
작성자
이상영
작성일
2020-11-18 15:59
조회수
448

안녕하세요. 타입 처리 때문에 어려움이 있어 고수님들께 도움요청 드립니다.


SELECT

      C.BBS_ARTCL_SEQ

    , C.SJ

    , C.ADD_ITEM_03

    , C.RGSDE

    , C.VIEW_URL

    , C.LIST_URL

    , C.BBS_SETUP_SEQ

FROM

    (

    SELECT

        A.BBS_ARTCL_SEQ

        , '['||SUBSTR(B.BBS_NM,0,2)||']'||SUBSTR(A.SJ, 0, 30) || '...' AS SJ

        , A.ADD_ITEM_03

        , TO_CHAR(A.RGSDE, 'yyyy.MM.dd') AS RGSDE

        , '/bbs/' || B.SITE_ID || '/' || B.BBS_SETUP_SEQ || '/' || A.BBS_ARTCL_SEQ || '/artclView.do?layout=unknown' AS VIEW_URL

        , '/bbs/' || B.SITE_ID || '/' || B.BBS_SETUP_SEQ || '/artclList.do?layout=unknown' AS LIST_URL

        , B.BBS_SETUP_SEQ

    FROM

        APP_BBS_ARTCL A

        , APP_BBS_SETUP B

    WHERE 1=1

        AND B.BBS_SETUP_SEQ IN (SELECT REPLACE(interest_yn,'|',',') FROM app_interestlatter WHERE SFXDB_DEC('normal', EMAIL)='sylee@nav.com' )

        --AND B.BBS_SETUP_SEQ IN (184,185,186,187,182,183)

        AND A.BBS_SETUP_SEQ = B.BBS_SETUP_SEQ

        AND A.TRASH_YN != 'Y'

        AND A.SECRET_YN != 'Y'

        AND A.CLSDR_YN != 'Y'

    ORDER BY

        A.RGSDE DESC

        , A.BBS_ARTCL_SEQ DESC

    ) C

WHERE

    ROWNUM BETWEEN 1 AND 5

    ;


 - B 테이블 APP_BBS_SETUP.BBS_SETUP_SEQ  는 INTEGER 타입이고,  => 184

 - app_interestlatter 테이블의 interest_yn VARCHAR() 타입이어서  => 184|185|186|187|182|183

 

위의 쿼리를 실행 시, 에러가 발생됩니다.

때문에, 

AND B.BBS_SETUP_SEQ IN (SELECT REPLACE(interest_yn,'|',',') FROM app_interestlatter WHERE SFXDB_DEC('normal', EMAIL)='sylee@nav.com' ) 이 부분을 

AND TO_CHAR(B.BBS_SETUP_SEQ) IN (SELECT REPLACE(interest_yn,'|',',') FROM app_interestlatter WHERE SFXDB_DEC('normal', EMAIL)='sylee@nav.com' ) 이렇게 변환하면,

에러 발생은 없지만, 데이터 조회가 되지 않습니다.  ㅠㅠ


이런 경우 어찌 처리 해야 할지 난감하여 질문 올립니다.

도움부탁드립니다.   ㅠㅠ


 

이 글에 대한 댓글이 총 2건 있습니다.
   AND b.bbs_setup_seq
    IN (SELECT TO_NUMBER(REGEXP_SUBSTR(interest_yn, '[^|]+', 1, lv))
          FROM app_interestlatter
             , (SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 99)
         WHERE SFXDB_DEC('normal', EMAIL) = 'sylee@nav.com'
           AND lv <= REGEXP_COUNT(interest_yn, '[^|]+')
        )

 
마농(manon94)님이 2020-11-18 17:31에 작성한 댓글입니다.

마농(manon94)님 감사합니다.

감사 댓글을 너무 늦게 달아서 죄송합니다.


해당 부분에 잘 적용되어 처리되었습니다.

다시 한 번 너무 감사드립니다.

이상영님이 2020-11-21 01:15에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
41830중복되는 데이타만 묶어서(?) 표시하기
신승익
2020-11-26
422
41829쿼리질문 [4]
lee
2020-11-24
531
41828쿼리문 에러 [3]
신승익
2020-11-23
396
41827타입변환(to_number) 관련 문의 드립니다. [2]
이상영
2020-11-18
448
41826이상하네요. toad에서는 오류가 전혀없는데..리눅스터미널에선 에러작살이네요. [1]
김건우
2020-11-13
417
41825문자열 수식 계산하는 쿼리 [3]
group
2020-11-12
514
41824테이블스페이스 조회하는쿼리인데...사용율까지 나오게 하려는데...계산을 잘못한건가요? 도움주세요 [2]
김건우
2020-11-11
422
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2021 DSN, All rights reserved.
작업시간: 0.011초, 이곳 서비스는
	PostgreSQL v13.1으로 자료를 관리합니다