Background Image

FORUM

조회 수 462 추천 수 0 댓글 2
?

단축키

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 디렉토리 압축


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

안녕하세요. select문에 A컬럼을 order by시 한글 > 숫자 > 영문 순으로 정렬하는 방법이 있을까요?

 

mysql 처럼

ORDER BY 

(CASE WHEN A BETWEEN '가' AND '히' THEN 1

         WHEN A BETWEEN 1 AND 9 THEN 2

         ELSE 3 END )

이렇게 써도 정렬이 되는 것 같지만 데이터를 자세히 보면 비읍 사이에 시옷이 나오거나 비읍 사이에 치읓이 나옵니다.

 

큐브리드 정렬 순서에 대한 정보를 못찾겠네요.. 답변 부탁드립니다. 감사합니다.

 

  • ?
    Qubrid 2022.12.01 10:27
    ORDER BY
    (CASE WHEN ASCII(SUBSTRING(A,1) BETWEEN 48 AND 57 THEN 2 /* 숫자 */
    WHEN ASCII(SUBSTRING(A,1) BETWEEN <123 THEN 3 /* 영문 */
    ELSE 1 /* 한글 */
    END
    )
    이렇게 해도 한글 정렬부분에서 비읍사이에 치읓이 나오거나 정렬이 잘 되지가 않습니다.

    그냥 ORDER BY A 를 수행하면 한글부터 정렬되지는 않지만, 그래도 한글부분은 정렬이 잘 됩니다.
  • ?
    오명환 2022.12.05 15:19
    order by 절의 case 구문 뒤에 A column을 넣어주시면 원하시는 정렬로 결과가 나옵니다.
    자주 사용하시는 질의라면 한글, 영무, 숫자를 구분하는 column을 만드시고, 해당 컬럼과 A값을 index로 만들어 사용하시는 것이 좋을 것 같네요.
    추가로 해당 컬럼의 값은 INSERT/UPDATE시에는 변경하는 작업을 해주셔야 합니다.

    ORDER BY
    (CASE WHEN ASCII(SUBSTRING(A,1) BETWEEN 48 AND 57 THEN 2 /* 숫자 */
    WHEN ASCII(SUBSTRING(A,1) BETWEEN <123 THEN 3 /* 영문 */
    ELSE 1 /* 한글 */
    END
    ), A

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 138
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4477
3785 CUBRID 2008 R3.0, R3.1 beta 에서의 PHP 모듈사용에 대한 질문 1 potter 2010.12.23 7159
3784 CUBRID 2008 R3.1 Patch 2 윈도우 버전은 없나요? 1 김우람 2011.05.13 8179
3783 CUBRID 2008 R3.1 odbc드라이버 관련 질문 1 메렁메렁 2014.08.25 7329
3782 CUBRID 2008 R4.0 Beta HA 관련 질문입니다. 6 file 반짝이 2011.05.16 25848
3781 CUBRID 2008 R4.3과 PHP 연동 문제 5 sinorix 2013.03.05 24686
3780 CUBRID 2008 r1.1 프로그램 삭제 불가 5 file 지누콩 2009.03.23 11825
3779 CUBRID 2008 데이터베이스 사용자 권한상속 에러. 6 윤희서 2009.01.17 25834
3778 CUBRID 4.0 64bit & SULinux 2.0 64Bit service start 시 manager fail 발생합니다.. 2 반짝이 2011.07.02 10058
3777 CUBRID 7.3 + zeroboard XE 관리자 로그인 에러 1 윤희서 2009.01.17 62131
3776 CUBRID 7.3 + zeroboard XE 관리자 로그인 에러 1 윤희서 2009.01.17 83643
3775 CUBRID 8.4.4 -> 11.0.3 로 업그레이드 시 발생할 문제가 있을까요? 1 SDDC사업개발자 2023.06.29 90
3774 CUBRID 9.1에서 CUBRID_CHARSET 변경 후 DB를 생성시 매니저에서 Lockdb operation has... 에러 발생 5 file nimbus89 2013.05.24 10228
3773 CUBRID 9.2 다국어 설치 관련 문의 드립니다. 7 secret 질의응답요청 2015.06.18 18
3772 CUBRID 9.2.0.0.155 한글 깨짐 관련 요청 2 뿡뿡이입니다 2014.02.06 11268
3771 CUBRID ADO.NET Data Provider 참조시 cascci.dll 로드 문제 1 yangsik 2017.10.06 416
3770 CUBRID Admin 접속 오류 4 정덕 2020.06.12 3961
3769 CUBRID CCI Library 를 이용한 CUBRID PHP Extension 설치하기 문의입니다. 2 책보는남자 2010.11.29 8561
3768 CUBRID DB 32bit에서 64bit 변경 방법 1 동훈이 2016.09.07 11143
3767 CUBRID DB Link insert, update, delete 1 리들러 2022.11.17 133
3766 CUBRID DB 날짜 및 시간 변환 하는 방법 알려주시면 감사하겠습니다. 1 루이지 2019.02.28 1247
Board Pagination Prev 1 ... 7 8 9 10 11 12 13 14 15 16 ... 201 Next
/ 201

Contact Cubrid

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