MySQL은 성을 기준으로 올바른 SQL을 작은 것부터 큰 것까지 정렬합니다.

I. 소개

최근에는 작은 것부터 큰 것까지 성별로 데이터를 조회할 필요가 있습니다. (이름은 모두 중국어입니다)
SQL을 작성했습니다.

select a.* from mytable a order by substr(a.NAME,1,1) asc

이것이 작동하지 않고 정렬이 엉망인 것으로 나타났습니다.

둘, 해결책

쿼리 결과, mysql 문자 집합이 gbk이면 작동하고,
utf8이면 작동하지 않는 것으로 나타났습니다.

다음과 같이 작성해야 합니다.

select a.* from mytable a order by convert(substr(a.NAME,1,1) using gbk) ASC

이렇게 하면 성으로 AZ에서 돌아올 수 있습니다.

Supongo que te gusta

Origin blog.csdn.net/BHSZZY/article/details/132476726
Recomendado
Clasificación