Background Image

FORUM

조회 수 4062 추천 수 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 도구 출시 안내 21 admin 2024.04.23 143856
3468 저장 함수 호출 오류 3 keem 2021.08.12 4550
3467 oledb 오토커밋 off 방법 2 ots21 2021.08.12 4470
3466 안녕하세요. 큐브리드 DBA권한계정을 잊어버렸을때 찾는방법이 있을까요? 5 겸둥이k 2021.08.10 4378
3465 큐브리드에서 덤프하는 방법 질문하겠습니다. 1 겸둥이k 2021.08.04 5502
3464 큐브리드 jdbc URL 해석 1 겸둥이k 2021.08.03 5147
3463 update 문 권한 관련 문의 2 ots21 2021.07.29 3071
3462 cubrid archive log가 삭제되지 않아서, 강제로 삭제할 수 있는 방안을 모색중입니다. 3 bikehee 2021.07.28 5504
3461 cubrid auto increament 동시성 4 dodev 2021.07.21 4187
3460 ALTER 로 PK 여러 개 지정하고싶습니다 4 사탕구름 2021.07.21 5149
3459 날짜 형식 변환 질문 1 큐브리드헬프미 2021.07.20 3863
3458 트랜잭션 격리 수준 관련한 에러 메시지 6 file gjgj 2021.07.15 3708
3457 on duplicate key update values 사용 방법 질문 4 dodev 2021.07.14 5586
3456 큐브리드 테이블 excel 출력관련 1 beee 2021.07.12 5088
3455 cubrid 에서 tibero로 마이그레이션을 하고 싶은데 CMT툴에서 지원이 가능한지요? 1 덴드로비움 2021.07.12 4176
3454 질의자동화 등록 오류 관련 문의 2 file ots21 2021.07.07 3238
3453 SYS_TIME 출력 시 문의사항 1 오렌지 2021.07.01 3628
3452 INSERT 문 VALUES 에 SELECT구문 문의 2 cubrid초보 2021.07.01 4442
3451 맥북에서 큐브리드 매니저 실행 시 Failed to create the Java Virtual Machine.에러 3 ysh 2021.06.30 4210
3450 oracle_style_empty_string=yes 설정 문의 5 cubrid초보 2021.06.29 3544
3449 큐브리드 컬럼 길이 문의 6 큐브리드궁금 2021.06.29 4095
Board Pagination Prev 1 ... 35 36 37 38 39 40 41 42 43 44 ... 213 Next
/ 213

Contact Cubrid

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