Background Image

FORUM

조회 수 265 추천 수 0 댓글 1
?

단축키

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


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

 

 

https://www.cubrid.com/qna/3832313

여기에 질문 올렸는데 어떤식의 정렬을 원하는지 적질 않아서 다시 한 번 질문합니다.

 

1. 테스트 (test 1.2.3)

2. 테스트

3. 테스트

10. 테스트 (test 2ver)

테스트-1

테스트-2

테스트 1978-1999

테스트 1999-2000

 

이러한 데이터가 있을 때 , 그냥 말씀 그대로 저 위와 같이 데이터가 정렬되었으면 합니다.

 

말씀하신대로 단순히 title asc 로 작업하면 

 

1. 테스트 (test 1.2.3)
10. 테스트 (test 2ver)  <--- 여기가 잘못됨
2. 테스트
3. 테스트
테스트 1978-1999
테스트 1999-2000
테스트-1
테스트-2

 

이런식으로 정렬되는데 

숫자 1 다음에 10이 아니라 2가 오면 좋겠습니다.

  • ?
    큐브리드_김주현 2021.06.14 11:12
    큐브리드를 이용해 주셔서 감사합니다.

    title이라는 컬럼의 데이터가 문자+숫자 혼합형인 경우의 정렬에 관한 문의로 이해됩니다.
    DB에서 알아서 문자+숫자데이터를 확인하여 정렬해 주는 함수는 제공 되지 않습니다.

    1) 데이터가 숫자인 경우 : TO_NUMBER(), cast()변환 함수를 사용하여 치환 정렬하는 방법
    2) 데이터가 숫자+문자인 경우 : order by LPAD(char, 10) asc 를 사용하여 '0'덧붙여서 가공하여 정렬하는 방법
    또는 length()함수를 이용하여 문자열 길이를 가지고 정렬할 수 도 있으나 작성자님이 원하시는 정렬 아래와 같은 쿼리 형태로 가능할 것 같습니다.

    create table ttdb(title varchar(20));
    insert into ttdb values('1. 테스트 (test 1.2.3)');
    insert into ttdb values('2. 테스트');
    insert into ttdb values('3. 테스트');
    insert into ttdb values('10. 테스트 (test 2ver)');
    insert into ttdb values('테스트-1');
    insert into ttdb values('테스트-2');
    insert into ttdb values('테스트 1978-1999');
    insert into ttdb values('테스트 1999-2000');

    select *
    from ttdb
    ORDER BY
    CASE WHEN UPPER(SUBSTR(title,1,1)) BETWEEN 'A' AND 'Z' THEN 1
    WHEN SUBSTR(title,1,1) BETWEEN '0' AND '9' THEN 2 ELSE 9 END asc

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

    title
    ======================
    '1. 테스트 (test 1.2.3)'
    '2. 테스트'
    '3. 테스트'
    '10. 테스트 (test 2ver)'
    '테스트-1'
    '테스트-2'
    '테스트 1978-1999'
    '테스트 1999-2000'

    8 rows selected. (0.002751 sec) Committed.


    더 나은 방법이 있을 수 있겠으나 우선 답변 드립니다.
    실업무에서는 되도록이면 order-colume생성하여 처리하시는것이 좋을 듯합니다.

    감사합니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 51
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
3474 cmd명령어 cubrid broker status 치면 창이 잠깐 떳다가 꺼집니다. 2 겸둥이k 2021.08.24 154
3473 cubrid 함수 한글 깨짐 현상 6 file cubrid초보 2021.08.19 583
3472 큐브리드 같은 쿼리 연속 조회속도 문제 (캐시) 1 겸둥이k 2021.08.19 148
3471 AUTO_INCREMENT 수동 증가 문의 2 cubrid초보 2021.08.19 727
3470 cubrid.jdbc.jci.UConnection.createJciException 에러가 납니다... 4 순대 2021.08.17 446
3469 Edit Host 에러 (bad record MAC) 8 file 알고싶어요 2021.08.16 546
3468 저장 함수 호출 오류 3 keem 2021.08.12 502
3467 oledb 오토커밋 off 방법 2 ots21 2021.08.12 252
3466 안녕하세요. 큐브리드 DBA권한계정을 잊어버렸을때 찾는방법이 있을까요? 5 겸둥이k 2021.08.10 330
3465 큐브리드에서 덤프하는 방법 질문하겠습니다. 1 겸둥이k 2021.08.04 1236
3464 큐브리드 jdbc URL 해석 1 겸둥이k 2021.08.03 932
3463 update 문 권한 관련 문의 2 ots21 2021.07.29 92
3462 cubrid archive log가 삭제되지 않아서, 강제로 삭제할 수 있는 방안을 모색중입니다. 3 bikehee 2021.07.28 197
3461 cubrid auto increament 동시성 4 dodev 2021.07.21 210
3460 ALTER 로 PK 여러 개 지정하고싶습니다 4 사탕구름 2021.07.21 832
3459 날짜 형식 변환 질문 1 큐브리드헬프미 2021.07.20 135
3458 트랜잭션 격리 수준 관련한 에러 메시지 6 file gjgj 2021.07.15 156
3457 on duplicate key update values 사용 방법 질문 4 dodev 2021.07.14 1324
3456 큐브리드 테이블 excel 출력관련 1 beee 2021.07.12 223
3455 cubrid 에서 tibero로 마이그레이션을 하고 싶은데 CMT툴에서 지원이 가능한지요? 1 덴드로비움 2021.07.12 342
Board Pagination Prev 1 ... 22 23 24 25 26 27 28 29 30 31 ... 200 Next
/ 200

Contact Cubrid

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