Background Image

FORUM

조회 수 3865 추천 수 0 댓글 4
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
Window7 32bit, Linux 64bit 등
CUBRID Ver
9.3
CUBRID TOOL Ver.
10.2
응용 환경(API)
java


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


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

정렬 기준 컬럼이 varchar 타입이고 데이터가

1

10

2

A

B

이와 같이 5가지가 들어있다고 가정했을 때,

정렬이 ( 1,2,10,A,B ) or ( A,B,1,2,10 ) 이렇게 되는 방법이 있을까요?

 

 

  • ?
    권호일 2021.09.08 15:20
    질문한 것처럼 정렬하는 것은 어렵습니다.
    아래 내용을 참고하여 정렬하는 방법을 찾아봐야 할 것 같습니다.
    감사합니다.


    CREATE TABLE order_qa( col1 VARCHAR(100) ) ;

    INSERT INTO order_qa(col1) values('1'), ('10'), ('2'), ('A'), ('B') ;

    SELECT col1, LPAD(col1, 3, '0') FROM order_qa ORDER BY LPAD(col1, 3, '0') ;

    결과
    ========================
    col1 LPAD(col1, 3, '0')
    ========================
    1 001
    2 002
    A 00A
    B 00B
    10 010
  • ?
    김민종 2021.09.08 15:44
    만약 사용하시는 데이터가 숫자와 영어라는 조건에서 아래의 쿼리를 사용해 정렬이 가능합니다.

    SELECT
    *
    FROM
    [테이블명]
    ORDER BY
    CASE
    WHEN SUBSTR([컬럼명], 1, 1) BETWEEN '0'
    AND '9' THEN 1
    WHEN UPPER(SUBSTR([컬럼명], 1, 1)) BETWEEN 'A'
    AND 'Z' THEN 2
    ELSE 9
    END,
    LENGTH([컬럼명]),
    UPPER([컬럼명])

    p.s. TEHN 옆의 숫자를 변경해 출력 순서(숫자,영문)를 변경할 수 있습니다.
  • ?
    HiCLASS 2021.09.08 17:17

    order by

    case when [컬럼] rlike like '[a-z]' or [컬럼] rlike '[A-Z]' then 0

    else format([컬럼], 0) end 

    로  비슷하게는 가능합니다.

     

    단 컬럼을 가공하여 정렬시에는 비용이 많이 들어가고 성능도 좋지 않습니다.

  • ?
    허서진 2021.09.08 19:52
    아래와 같게 숫자와 문자를 구분해서 정렬한뒤 union all로 합치는 방법도 있습니다만,
    컬럼가공으로 인해 성능 저하가 발생할 수 있을 것 같습니다.
    (
    select *
    from order_qa
    where ascii(col1)<58
    order by to_number(col1)
    )
    union all
    (
    select *
    from order_qa
    where ascii(col1)>64
    order by col1
    )

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 21 admin 2024.04.23 132881
» varchar 타입 컬럼을 숫자형식으로 정렬하는 방법 문의 4 딩_ 2021.09.08 3865
3484 큐브리드 매니저 관리모드 로그인 중 에러가 발생했습니다. 2 연습용 2021.09.07 4041
3483 파티션키 여러개의 컬럼 구성 가능 여부 1 타임 2021.09.07 3939
3482 인덱스 함수 생성 문의 1 후후후후후후후후 2021.09.01 4241
3481 에러 내용 문의 2 yonggi 2021.09.01 3528
3480 큐브리드에 제공하는 파티셔닝 사용후 조회시 문제 5 file 연습용 2021.09.01 3686
3479 큐브리드 빅데이터를 효과적으로 import 시키는방법 1 개1발자 2021.08.31 4083
3478 mssql 마이그레이션 문의 1 file 둠둠둠 2021.08.31 2824
3477 ADO.NET Connector 문의 1 까망이 2021.08.31 3536
3476 cubrid 서버가 실행 될때 javasp(자바 저장 프로시저 서버)가 같이 실행 할 수 있는 방법 1 jungsin 2021.08.24 5077
3475 큐브리드 커넥션시 혼자할때는 접속잘되었지만 여러명이 붙는순간 에러 1 겸둥이k 2021.08.24 4272
3474 cmd명령어 cubrid broker status 치면 창이 잠깐 떳다가 꺼집니다. 2 겸둥이k 2021.08.24 3768
3473 cubrid 함수 한글 깨짐 현상 6 file cubrid초보 2021.08.19 4803
3472 큐브리드 같은 쿼리 연속 조회속도 문제 (캐시) 1 겸둥이k 2021.08.19 5007
3471 AUTO_INCREMENT 수동 증가 문의 2 cubrid초보 2021.08.19 4672
3470 cubrid.jdbc.jci.UConnection.createJciException 에러가 납니다... 4 순대 2021.08.17 4698
3469 Edit Host 에러 (bad record MAC) 8 file 알고싶어요 2021.08.16 4253
3468 저장 함수 호출 오류 3 keem 2021.08.12 4365
3467 oledb 오토커밋 off 방법 2 ots21 2021.08.12 4176
3466 안녕하세요. 큐브리드 DBA권한계정을 잊어버렸을때 찾는방법이 있을까요? 5 겸둥이k 2021.08.10 4122
Board Pagination Prev 1 ... 34 35 36 37 38 39 40 41 42 43 ... 213 Next
/ 213

Contact Cubrid

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