2014-06-19 3 views
3

username의 열 값은 MySQL RDBMS에서 대소 문자를 구분하지 않고 어떻게 주문할 수 있습니까?MySQL에서 대소 문자를 구분하지 않는 문자열 순서

테이블 구조 및 데이터 :

╔══════╦════════════╦════════╗ 
║ id ║ username ║ name ║ 
╠══════╬════════════╬════════╣ 
║ 1 ║ adam  ║ test ║ 
║ 2 ║ Ben  ║ test1 ║ 
║ 3 ║ Aron  ║ test2 ║ 
║ 4 ║ charles ║ test3 ║ 
╚══════╩════════════╩════════╝ 

원하는 결과 다음대로 order by 절 대소에 username 서식 수

╔══════╦════════════╗ 
║ id ║ username ║ 
╠══════╬════════════╣ 
║ 1 ║ adam  ║ 
║ 2 ║ Aron  ║ 
║ 3 ║ Ben  ║ 
║ 4 ║ charles ║ 
╚══════╩════════════╝ 
+1

: 경우에

SELECT * FROM table_name ORDER BY username COLLATE 'latin1_general_ci'; 
  • MySQL의 쿼리를 구분하지 ORDER BY는 필드 이름에 LOWER()을 추가하는 것입니다 'order by username' 명령을 수행하면 제대로 작동합니다. –

  • +2

    @AbhikChakraborty 테이블의 데이터 정렬에 따라 다릅니다. – Barmar

    +0

    답장을 보내 주셔서 감사합니다. 사용자 이름으로 주문을 시도했지만 작동하지 않았습니다. – saran

    답변

    3

    대소 문자를 구분하지 못하는 두 가지 솔루션이 있습니다.

    • 첫째는 COLLATE 옵션을 사용하는 것입니다 단지

      SELECT * FROM table_name ORDER BY LOWER(username); 
      
    관련 문제