복붙노트

[SQL] 어떻게 결과 케이스를 구분 정렬 문으로 SQL 주문을 사용 하는가?

SQL

어떻게 결과 케이스를 구분 정렬 문으로 SQL 주문을 사용 하는가?

나는 알파벳 순서로 정렬하는 데 노력하고있는 SQLite 데이터베이스가 있습니다. 문제는 SQLite는 따라서이 같은 결과를 얻을, 정렬시 = A를 고려하지 않는 것입니다 :

ㅏ 비 씨 티 ㅏ 비 씨 지

난 갖길 원해:

ㅏ ㅏ 비 비 씨 씨 지 티

어떤 특별한 SQL 일 필요는 내가 모르는 것을 수행 할?

SELECT * FROM NOTES ORDER BY title

해결법

  1. ==============================

    1.또한 ORDER BY TITLE COLLATE NOCASE을 할 수 있습니다.

    또한 ORDER BY TITLE COLLATE NOCASE을 할 수 있습니다.

    편집 : 당신이 ASC 또는 DESC를 지정해야하는 경우와 같은 NOCASE 후이 추가

    ORDER BY TITLE COLLATE NOCASE ASC
    

    또는

    ORDER BY TITLE COLLATE NOCASE DESC
    
  2. ==============================

    2.당신은 정렬의 목적을 위해 소문자로 모두 변환 할 수 있습니다 :

    당신은 정렬의 목적을 위해 소문자로 모두 변환 할 수 있습니다 :

    SELECT * FROM NOTES ORDER BY LOWER(title);
    

    당신은 반드시 대문자 사람이 여전히 앞서 소문자 사람의 결국 것을 확인하려면, 단지 보조 일종으로 그 추가 :

    SELECT * FROM NOTES ORDER BY LOWER(title), title;
    
  3. ==============================

    3.

    SELECT * FROM NOTES ORDER BY UPPER(title)              
    
  4. from https://stackoverflow.com/questions/2413427/how-to-use-sql-order-by-statement-to-sort-results-case-insensitive by cc-by-sa and MIT license