Background Image

FORUM

조회 수 57 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
Window7 32bit, Linux 64bit 등
CUBRID Ver.
[cubrid_rel] 수행 결과
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java, php, odbc 등 입력


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
 

안녕하세요 큐브리드 SQL중 DECODE 사용하다 문의점이 있어서 문의드립니다.

 

아래 SQL 사용시 DECODE시 해당 테이블의 컬럼으로 DECODE 값을 나타내는 것은 안되는 것이 맞는건가요?

 

☞ 해당 테이블 정보입니다. 

■ msg_log (테이블)

- cont_seq numeric(11,0) (컬럼)

- msg_type numeric(1,0) (컬럼)

- sms_text varchar(160) (컬럼)

 

■ mms_contents_info (테이블)

- cont_seq numeric(11,0) (컬럼)

- msg_type (numeric(1,0) (컬럼)

- mms_body varchar(2000) (컬럼)

 

 

☞ DECODE(mlog.msg_type, 6 , 1, 2) 이런식으로 값을 넣어줄시 가능하지만 해당 컬럼 DECODE(mlog.msg_type, 6 , mms.mms_body, mlog_sms_text) 으로 출력시 안되네요

해당 컬럼으로 DECODE 값 출력시 안되는 것이 맞는것인지?

■ DECODE 사용 SQL 

SELECT 

  DECODE(mlog.msg_type, 6 , mms.mms_body, mlog_sms_text) sms_txt 

  FROM msg_log mlog 

          ,mms_contents_info mms 

 WHERE 1=1 

     AND mlog. cont_seq = mms.cont_seq 

;

 

☞ CASE WHEN 사용시  THEN 뒷부분에 해당하는 컬럼(mms.mms_body) ELSE 에 해당 컬럼mlog.msm_text으로 넣을시 동작이 안되는 것이 맞는건가요?

■ CASE WHEN 사용 SQL 

SELECT 

   CASE WHEN mlog.msg_type = 6 THEN mms.mms_body

   ELSE mlog.msm_text

   END AS sms_txt

  FROM msg_log mlog 

          ,mms_contents_info mms 

WHERE 1=1 

    AND mlog.cont_seq = mms_cont_seq

;

 

 

☞ 위에 방법이 안된다고 하면 DECODE나 CASE WHEN 해당 컬럼 넣어서 사용할 수 있는 방법이나 다른 방법이 있다면 알려주시기를 부탁드립니다. 

  • ?
    큐브리드_김주현 2024.04.04 09:50
    큐브리드를 이용해주셔서 감사합니다.

    아래는 올려주신 내용을 바탕으로 샘플을 만들어 본 것이고 , 정상 출력됩니다.

    DECODE오류가 아닌 올려주신 글 중에 오타(mms_cont_seq -> mms.cont_seq 등)으로 인한 오류가 아닌지요? 이를 점검해 보시기 바랍니다.

    -----Test---

    drop table msg_log;
    create table msg_log
    (id int
    ,cont_seq numeric(11,0)
    ,msg_type numeric(1,0)
    ,sms_text varchar(160)
    );
    insert into msg_log values(1,15,5,'(1_text)CUBRID');
    insert into msg_log values(2,15,6,'(2_text)CUBRID');

    drop table mms_contents_info;
    create table mms_contents_info
    (id int
    ,cont_seq numeric(11,0)
    ,msg_type numeric(1,0)
    ,mms_body varchar(2000)
    );

    insert into mms_contents_info values(10,11111,1,'Be ambitious');
    insert into mms_contents_info values(20,22222,0,'an old friend');
    insert into mms_contents_info values(1,15,1,'(body)IS KING');

    수행 결과1)
    select mms.cont_seq,
    mlog.msg_type,
    DECODE(mlog.msg_type, 6 , mms.mms_body, mlog.sms_text) sms_text
    from msg_log mlog, mms_contents_info mms
    where 1=1
    AND mlog.cont_seq = mms.cont_seq

    === <Result of SELECT Command in Line 6> ===

    cont_seq msg_type sms_text
    ==================================================================
    15 5 '(1_text)CUBRID'
    15 6 '(body)IS KING'

    수행결과2)

    SELECT
    CASE WHEN mlog.msg_type = 6 THEN mms.mms_body
    ELSE mlog.sms_text
    END AS sms_txt
    FROM msg_log mlog
    ,mms_contents_info mms
    WHERE 1=1
    AND mlog.cont_seq = mms.cont_seq

    sms_txt
    ======================
    '(1_text)CUBRID'
    '(body)IS KING'

    감사합니다.
  • ?
    핑크팬더 2024.04.09 10:27
    확인해보니 mms_contents_info(테이블)의 콜레이션이 euckr_bin이고 msg_log(테이블)의 콜레이션이 utf8_bin으로 되어있어서 서로 타입이 안맞는 문제로 cast함수를 사용해서 형변환으로 해결되었습니다. 답변 감사드립니다.

  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

    Date2024.04.23 Byadmin Views61
    read more
  2. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4464
    read more
  3. DECODE, CASE WHEN 사용법 문의

    Date2024.04.03 By핑크팬더 Views57
    Read More
  4. schema 파일 loaddb - 스키마 정보 중복오류 문의

    Date2024.03.21 Bydaay Views92
    Read More
  5. object to string

    Date2024.03.20 By네오랜덤 Views69
    Read More
  6. mysql로 DB연동 문의

    Date2024.03.20 By연동테스트용 Views81
    Read More
  7. 특정DB만 접근 시간이 현저하게 오래 걸리는 문제

    Date2024.03.20 By그로구 Views65
    Read More
  8. jdbc 연동시의 charset 강제 변경 방법

    Date2024.03.14 Bygwak Views58
    Read More
  9. 도커로 HA환경 구성 테스트중 hb start..

    Date2024.03.12 Bywodud0170 Views63
    Read More
  10. 이중화 관련 문의드립니다.

    Date2024.03.12 Byadqwdqwd123412 Views67
    Read More
  11. 큐브리드 마스터 복제 관련 문의 드립니다.

    Date2024.03.11 By이지혜 Views61
    Read More
  12. 큐브리드 다운로드 에러

    Date2024.03.08 By나래아빠 Views85
    Read More
  13. CUBRID Migration Toolkit "orai18n.jar" 추가 방법

    Date2024.03.07 By가을이아빠 Views61
    Read More
  14. CUBRID 에러 로그 관련 확인 요청

    Date2024.03.07 Byjnj570244 Views95
    Read More
  15. DB링크로 조회시 문자타입이 조회되지 않고 있습니다.

    Date2024.03.06 By원샷 Views93
    Read More
  16. 다른 사용자 계정에서 csql로 localhost 접근 문제

    Date2024.03.05 By가을이아빠 Views79
    Read More
  17. [성능이슈] 큐브리드 함수 사용으로 인한 성능이슈

    Date2024.03.04 By레고 Views113
    Read More
  18. CUBRID 11.2 rpm 설치시 cubrid 계정 패스워드

    Date2024.03.04 By가을이아빠 Views54
    Read More
  19. Cubrid JDBC 버전에 따라 출력되는 결과가 다릅니다.

    Date2024.02.28 By엘L Views90
    Read More
  20. select 질의문 문의

    Date2024.02.26 By태리 Views119
    Read More
  21. cubrid statdump 기술 문의드립니다.

    Date2024.02.19 By이건우 Views11
    Read More
  22. 날짜 형식 변환에 대해서 궁금해서 올립니다.

    Date2024.02.14 By김용용 Views56
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales