Background Image

FORUM

조회 수 245 추천 수 0 댓글 5
?

단축키

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 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
SELECT CONCAT_WS(',',컬럼1,컬럼2,컬럼3)

FROM 테이블

 

이렇게 진행할 시 데이터가

아래와 같이 나타납니다.

 

141,1421,1422,1420, < - 이 같은 데이터가 나타납니다. 마지막에 , (콤마)가 나타납니다.

 

위와 같은 데이터에서 마지막에 콤마를 없앨려고

 

RTRIM을 사용해봤지만 콤마가 안없어집니다.

 

RTRIM(CONCAT_WS(',',컬럼1,컬럼2,컬럼3), ',') <- 이렇게 진행을 해도

위와 같이 데이터가 출력이 됩니다.

141,1421,1422,1420,

 

이상하게 SELECT RTRIM('141,1421,1422,1420,', ',') FROM db_root  

해당 쿼리로 테스트를 하면 ,(콤마)가 사라지는데 

 

 

RTRIM(CONCAT_WS(',',컬럼1,컬럼2,컬럼3), ',') <- 이렇게 하면 콤마가 안사라지는지 이해가 되지않네요

아니면 다른 방법이 있는지 답변 부탁드리겠습니다.

 

 

  • ?
    민순 2021.03.19 14:15

    오라클 형식의 쿼리를 보면, 마지막 글자 하나를 값과 무관하게 지우는 방식인 것 같습니다.

    즉 데이터가 모두 마지막에 ,(콤마)가 붙어서 나오는 상황인 것 같습니다.

    RTRIM 함수를 활용해 보시기 바랍니다.

    SELECT RTRIM('141,1421,1422,1420,' , ',') ;

    와 같은 형식으로 사용하시면 될 것 같습니다.

    다만 위와 같이 RTRIM 함수를 사용할 경우, 데이터에 마지막에 나오는 모든 ,(콤마)를 삭제하게 됩니다.

    예) SELECT RTRIM('1124,1212,,,,' , ',' ); -> 1124.1212

    RTRIM 함수에 대한 자세한 내용은 아래 메뉴얼을 참고하시기 바랍니다.

    https://www.cubrid.org/manual/ko/11.0/sql/function/string_fn.html#rtrim

  • ?
    테스형2 2021.03.19 14:20
    답변 감사합니다.
    한가지만 더 물어봐도 될까요?
    제가 내용을 급하게 수정하였는데
    확인을 못하신거 같아서 댓글을 남겨요

    SELECT RTRIM('141,1421,1422,1420,', ',') FROM db_root 이렇게 쿼리를 날려보면
    제대로 콤마가 없어진것을 확인을 하였는데
    이상하게
    RTRIM(CONCAT_WS(',',컬럼1,컬럼2,컬럼3), ',') CONCAT_WS와 같이 쓰면 안나오더라고여...
    혹시 이점에 대해서 답변 부탁드려도될까요??
  • ?
    민순 2021.03.19 14:44

    먼저 CONCAT_WS 함수는 첫번째 인자를 구분자로 사용하여 문자열을 연결하는 함수입니다.

    SELECT CONCAT_WS(',', 'abc', 'def', 'ghi') 쿼리를 실행할 경우 각 문자열을 ,(콤마)로 구분한

    abc,def,ghi 가 반환이 됩니다.

    만약 CONCAT_WS 함수를 사용했을때 결과 값 마지막에 ,(콤마)가 붙은 경우라면 CONCAT_WS 인자의 마지막 데이터가 ,(콤마)로 끝나는 것으로 보여집니다.

    예) SELECT CONCAT_WS(',', 'abc', 'def', 'ghi,') 수행 시 abc,def,ghi, 반환

    이 경우에도 RTRIM 함수를 이용하면 정상적으로 ,(콤마)가 사라지는 것을 테스트 결과 확인했습니다.

    SELECT RTRIM(CONCAT_WS(',', 'abc', 'def', 'ghi,'), ',');

    다시 한번 확인 부탁드립니다.

  • ?
    권호일 2021.03.19 14:44
    사내에서 작성한데로 "RTRIM(CONCAT_WS(',',컬럼1,컬럼2,컬럼3), ',')" 테스트 할 경우 정상적으로 변환됩니다.

    컬럼3의 value가 "ABC, "와 같이 ","값과 스페이스가 있는 경우에는 변환이 안 됩니다.

    컬럼3의 값의 끝자리 공백을 지우는 것으로 확인 해 주세요.

    예시)
    "RTRIM(CONCAT_WS(',',컬럼1,컬럼2, rtrim(컬럼3)), ',')"
  • ?
    테스형2 2021.03.19 14:49
    답변 달아주신 모든 분들 너무 감사합니다.
    덕분에 처리가 잘되었습니다. 감사합니다.

  1. No Image notice by admin 2024/04/23 by admin
    Views 72 

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

  2. SQLGate for CUBRID 영구 무료 라이선스 제공

  3. 서버 로그 관련하여 문의 드립니다.

  4. HA기능 WINDOW서버

  5. 웹매니저 관련 acl 문의드립니다.

  6. 데이터 베이스 load 명령어 실행 중 Maximum value 오류

  7. CUBRID 구성 문의

  8. cubrid 중지 현상 문의

  9. centos8 64bit 환경에 큐브리드 10.2 서비스 실행 후 db 접속 안됨

  10. cubrid가 실행이 안됩니다.

  11. Cubrid Shard 문의사항이 있어서 질문드립니다.

  12. 데이터 볼륨을 추가 하는 명령어 확인 부탁 드립니다.

  13. DB_SEC_E_PERMISSIONDENIED 에러

  14. Failback 하는 방법 좀 알려 주세요.

  15. 현재 디비가 조회가 되지 않을정도로 느립니다.

  16. system parameter 확인 시 에러메세지

  17. 깨진 인덱스 확인방법 질문드리겠습니다.

  18. 이중화 관련 추가 질문 드립니다. sync 설정을 관련 질문입니다.

  19. 테이블 특정문자 검색 SQL문

  20. 컬럼상 콤마 삭제 질문드립니다.

  21. java 컴파일시 Class Not Fount

  22. 공급자는 로컬 컴퓨터에 등록할 수 없습니다 에러메세지

Board Pagination Prev 1 ... 148 149 150 151 152 153 154 155 156 157 ... 200 Next
/ 200

Contact Cubrid

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