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 101
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4467
999 8.44 버전 지원 여부와 9.대로 업그레이드시 안정 버전 문의드립니다. 1 땡땡이 2017.07.06 268
998 AUTO INCREASE 가 편집이 안됨 2 file 큐브리드어려워요 2022.02.08 268
997 testdb_t숫자, testdb_x숫자 형식으로 있는 파일 삭제 해도 되나요? 3 coolkkm 2017.11.30 267
» 혼합형 데이터 정렬 방법 1 큐키 2021.06.14 265
995 큐브리드 마이그레이션툴 사용시 질문입니다. 5 bjosbkjx 2019.01.28 265
994 auto_increment 추가 방법 문의 1 부패방지운영팀 2023.04.14 265
993 이중화 씨 락상태가 30분 정도 걸려있다가 재기동 하면 바로 안올라오나요? 3 coolkkm 2017.12.14 264
992 ERWIN에서 Reverse Engineer 사용중에 에러 발생 3 연습용 2021.09.15 264
991 데이터 복구 1 file 연습만이살길 2022.03.25 264
990 버전 문의드립니다 1 ka 2018.10.11 263
989 SELECT 전체 갯수에 대해 질문 드리겠습니다. 1 훈입니다. 2020.04.17 263
988 큐브리드 매니저에서 질의 실행계획 질문하겠습니다. 3 file 연습용 2021.10.01 262
987 파라미터 바인드 문제.. 2 오션나인 2021.06.04 262
986 Locale 확인방법 문의 2 bchlim 2020.07.20 262
985 PHP PDO Driver 설치가 안됩니다. 웨버 2020.08.27 261
984 JOIN (+)과 함수 에러 3 wewek3jk3 2019.07.24 260
983 실행계획 읽는 법 문의 드립니다. 1 file kikiki767 2022.07.01 260
982 큐브리드 마이그레이션중 에러 7 밍아 2022.03.03 260
981 아카이브 삭제 명령어 문의 드립니다. 1 Philip Park 2021.04.06 260
980 파이썬에서 튜토리얼대로 했는데 안됩니다. 2 이방원 2020.08.02 258
Board Pagination Prev 1 ... 146 147 148 149 150 151 152 153 154 155 ... 200 Next
/ 200

Contact Cubrid

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