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
    답변 달아주신 모든 분들 너무 감사합니다.
    덕분에 처리가 잘되었습니다. 감사합니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 49
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
974 큐브리드 10점대로 구축된 사이트가 있나요? 2 잉여개발자 2018.03.26 258
973 CLOB 관련 문의드립니다. 3 HYHY 2020.11.23 258
972 HA 절체 테스트를 위해 master db 서비스를 stop 했을 때 exception 발생 됨 1 푸르른하늘 2020.12.07 257
971 시점복구 왜 안될까요?? 1 kubrid 2019.07.20 256
970 Redmine 의 데이터베이스로 큐브리드를 사용하는 것이 가능할까요? 3 밝은마음 2018.04.17 256
969 외래키 관련 질문 드립니다. 1 eunjus 2020.10.22 256
968 demodb에 데이터볼륨을 추가하려는데 에러가 발생해서 질문드립니다. 2 IMMvp 2019.05.20 254
967 putty 터미널로 unloaddb 진행 관련 문의 10 file 솨솨솨 2021.05.07 254
966 Docker 4 sj.han 2023.08.23 254
965 트리거 사용시 임시변수 1 지구인다 2018.10.01 253
964 트리거 질문드립니다. 1 서준빠 2020.01.10 253
963 버전에 대한 취약점 및 EOS 관련 문의 1 KSH_혁 2020.01.29 252
962 oledb 오토커밋 off 방법 2 ots21 2021.08.12 252
961 loaddb 시 에러 문의 1 WWWW 2021.03.10 251
960 wher절 서브쿼리 질문입니다. 1 KunAguero 2020.04.06 251
959 큐브리드 조인 문의 드립니다(모바일 작성) 1 hjh394 2021.11.02 250
958 그룹 멤버 관리 1 dunkin23 2018.01.16 250
957 자바함수 사용시 데이터 누락 되는경우가 있는거같습니다 1 양석규 2020.05.19 250
956 CUBRID 접속 실패 문의 8 file passik89 2020.08.20 250
955 서버 로그 관련하여 문의 드립니다. 1 CUCUCUCU 2018.10.23 250
Board Pagination Prev 1 ... 147 148 149 150 151 152 153 154 155 156 ... 200 Next
/ 200

Contact Cubrid

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