Background Image

FORUM

조회 수 264 추천 수 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 Views4441
    read more
  2. cubrid 10.1 데이터 덮어쓰기 질문입니다.

    Date2024.04.18 Byysk96 Views6
    Read More
  3. ACTION 명령어? 예약어?

    Date2024.04.17 By투투투투기기 Views14
    Read More
  4. sql 구문 사용시 데이터 타입 decimal일 경우

    Date2024.04.11 By투투투투기기 Views23
    Read More
  5. Regexp_count

    Date2024.04.09 BySEO Views53
    Read More
  6. 큐브리드 메모리 오류 관련 질문

    Date2024.04.09 By뚜벅뚜벅 Views55
    Read More
  7. 큐브리드 실행이 안되는 이슈

    Date2024.04.09 By최현욱 Views34
    Read More
  8. unloaddb & loaddb 관련 질문이 있습니다.

    Date2024.04.06 By543534512 Views42
    Read More
  9. mac m1 다운로드 오류

    Date2024.04.05 By혜주냉면 Views38
    Read More
  10. list 함수로 만든 sequence type을 varchar로 변환 문의

    Date2024.04.04 By플레이어블 Views33
    Read More
  11. DECODE, CASE WHEN 사용법 문의

    Date2024.04.03 By핑크팬더 Views51
    Read More
  12. schema 파일 loaddb - 스키마 정보 중복오류 문의

    Date2024.03.21 Bydaay Views86
    Read More
  13. object to string

    Date2024.03.20 By네오랜덤 Views65
    Read More
  14. mysql로 DB연동 문의

    Date2024.03.20 By연동테스트용 Views66
    Read More
  15. 특정DB만 접근 시간이 현저하게 오래 걸리는 문제

    Date2024.03.20 By그로구 Views57
    Read More
  16. jdbc 연동시의 charset 강제 변경 방법

    Date2024.03.14 Bygwak Views55
    Read More
  17. 도커로 HA환경 구성 테스트중 hb start..

    Date2024.03.12 Bywodud0170 Views61
    Read More
  18. 이중화 관련 문의드립니다.

    Date2024.03.12 Byadqwdqwd123412 Views65
    Read More
  19. 큐브리드 마스터 복제 관련 문의 드립니다.

    Date2024.03.11 By이지혜 Views59
    Read More
  20. 큐브리드 다운로드 에러

    Date2024.03.08 By나래아빠 Views83
    Read More
  21. CUBRID Migration Toolkit "orai18n.jar" 추가 방법

    Date2024.03.07 By가을이아빠 Views56
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 200 Next
/ 200

Contact Cubrid

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