본문 바로가기

Program/iOS

iOS - SQLite 한글-영어 순 정렬하기

Android 도 SQLite 를 사용하니 결과는 마찬가지라고 생각되지만 Android 에서 테스트해 보질 않아서 장담 할 수는 없을 것 같다.

암튼...SQLite 가 원래 영어, 한글 순으로 정렬을 해버린다..-_-;
기획자들의 요구사항은 한글, 영어다..

어쩌할까...생각을 해보다..생각을 접고 구글링한다..

when 을 이용하여 처리한 방법이 있다..(select절에 when사용 처음 해본다..)

[NSString stringWithFormat:@"SELECT idx, title, writer_doc, writer_img, download_reg_date, download_end_date, free_yn, tidx, vidx, gidx, title_sub, abs(vidx) as vid, case when substr(title, 1, 1) BETWEEN '' AND '' then 1 else 4 end as number FROM cartoon GROUP BY title, vid ORDER BY number %@, title %@, vid %@ LIMIT %d", orderby, orderby, orderby, limit]

abs(vidx)는 vidx값이 문자열이라 정렬하기 위해서 int형으로 변환했다...
문자열을 int 로 변경하는 convert 함수가 이놈이 맞는지 모르지만..암튼 된다.-_-;

그리고 한글, 영문 정렬.. 
when substr(title, 1, 1) BETWEEN '' AND '' then 1 else 4 end as number 

title의 첫글자를 substr 한 후 그값이  'ㄱ'에서 '힣' 사이에 속하면 1 아니면 4로 
셋팅한 후 정렬할때 number를 기준으로 정렬한다..


 
 

'Program > iOS' 카테고리의 다른 글

iOS - OTA ( Over the Air AdHoc ) 1  (6) 2011.08.19
iOS - Logging  (6) 2011.08.17
iOS APXML & JSON parser  (2) 2011.07.13
Xcode Archive Version Unspecified  (4) 2011.07.13
UIWebView User-Agent  (1) 2011.07.11