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를 기준으로 정렬한다..
암튼...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 |