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
574 공급자는 로컬 컴퓨터에 등록할 수 없습니다 에러메세지 2 file swift 2021.05.14 242
573 큐브리드 cannot connect to a broker 3 솨솨솨 2021.05.14 1237
572 Cubrid 데이터베이스 생성 시 오류 확인 요청 3 file 딤디딤 2021.05.14 165
571 HA 구성 후에 HA-Node Info 에 state ip_addr_mismatch 가 출력됩니다. 1 나래 2021.05.17 146
570 생성 스크립트에 대한 트리거 순서에 대하여 질문 드립니다. 5 제로미 2021.05.17 204
569 가장 어을리는 cubrid version 1 정글의 왕자 2021.05.18 130
568 Failed on handshake between client and server 에러가 계속 발생 합니다.. 3 file dwpark 2021.05.18 181
567 CUBRID 매니저에서 뷰 편집 -> SQL문 보기시 SQL이 너무 길어 짤리는 현상 4 테크 2021.05.24 290
566 큐브리드에서 오프소스 Talend 사용 가능한 지 문의드립니다. 3 본부장 2021.05.24 185
565 에러가 왜 날까요... 잘 입력 되다가 이런 에러가 나네요.. 파이선 사용자입니다. 4 오션나인 2021.05.27 909
564 큐브리드 커맨드 내 spool과 set echo 의 사용가능 여부 1 솨솨솨 2021.06.01 1991
563 .AccessViolationException (C#) 1 swift 2021.06.03 220
562 파라미터 바인드 문제.. 2 오션나인 2021.06.04 262
561 php 7.3 + Cubrid 8.4.4 연동 문제 1 땡땡이 2021.06.08 86
560 두 가지 테이블의 컬럼을 검색해서 업데이트 하는 쿼리 8 ots21 2021.06.09 740
559 혼합형 데이터 정렬방법 1 큐키 2021.06.11 85
558 VIEW SELECT 오류 (실행오류: -494) 2 tenbirds 2021.06.11 460
557 Docker에 설치된 큐브리드에서 cubrid server stop이 안됩니다. 4 새옹지마 2021.06.13 431
» 혼합형 데이터 정렬 방법 1 큐키 2021.06.14 265
555 파일 업로드 시 생기는 DB 다운 7 오렌지 2021.06.14 237
Board Pagination Prev 1 ... 167 168 169 170 171 172 173 174 175 176 ... 200 Next
/ 200

Contact Cubrid

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