Background Image

FORUM

조회 수 252 추천 수 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생성하여 처리하시는것이 좋을 듯합니다.

    감사합니다.

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

    Date2020.04.09 Byadmin Views4275
    read more
  2. 회원가입이 3명이상 안돼요..

    Date2010.07.08 By딩이 Views7844
    Read More
  3. 회사 서버에 접속을 할려면 설정이 다른가요?

    Date2009.07.14 By후니 Views10574
    Read More
  4. 홈경로 databases.txt 질문드립니다

    Date2023.07.17 By큐브리드드 Views83
    Read More
  5. 홀따옴표 처리 문의

    Date2010.04.15 By초보 Views14675
    Read More
  6. 혼합형 데이터 정렬방법

    Date2021.06.11 By큐키 Views81
    Read More
  7. 혼합형 데이터 정렬 방법

    Date2021.06.14 By큐키 Views252
    Read More
  8. 혹시 큐브리드매니저 자동완성 끄는 기능 있나요

    Date2012.09.05 By안지민 Views6031
    Read More
  9. 혹시 큐브리드 매니져 기본글꼴을 고정폭으로 해주실 생각은 없으신가요...

    Date2012.12.20 By안지민 Views5762
    Read More
  10. 혹시 PHP5.3.0 버전에서 모듈 설치되신분 계신가요???

    Date2009.07.13 Bysenseplus Views9391
    Read More
  11. 혹시 MMDB 지원하나요?

    Date2009.01.31 Bytekkal Views17476
    Read More
  12. 호스트 추가시 발생되는 오류에 대해 문의 합니다.

    Date2015.01.06 By거북이사촌 Views5259
    Read More
  13. 호스트 추가 질문입니다.

    Date2010.12.21 By몽유객 Views13804
    Read More
  14. 호스트 추가

    Date2011.12.17 Bykaray2k Views17926
    Read More
  15. 호스트 연결이 안됩니다.

    Date2013.01.01 By미드소나 Views7746
    Read More
  16. 호스트 연결이 안되요.(비밀번호오류)

    Date2011.09.06 By양희종 Views13911
    Read More
  17. 호스트 연결이 무한 로딩도네요

    Date2022.10.20 By큐브리드사용자 Views109
    Read More
  18. 호스트 연결이 되지 않습니다.

    Date2013.07.24 ByJuooon Views9229
    Read More
  19. 호스트 연결 에러

    Date2016.01.28 ByPJEPJE Views10
    Read More
  20. 형변환 오류 문의

    Date2009.12.30 By삽질중 Views12967
    Read More
  21. 현재 큐브리드 7.1 을 사용하고 있는데요

    Date2009.10.01 By헬리 Views8767
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 199 Next
/ 199

Contact Cubrid

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