sqlite中文排序相关
参考网址:http://blog.csdn.net/absurd/article/details/1271259
因为公司需要,用到sqlite,并需要中文排序。我在W3C school网站上学习了简单的sql语句,借用同事的C++封装完成了读取数据库内容。 中文排序是李先静大牛的介绍,折腾了数天,终于在PC上测试出如下结果: slite> select * from person order by name collate pinyin; 至此,我应该能够加载自己的排序了。 遇到了如下问题,我给大家分享一下,希望能够减少初学者的学习路线。 1. 拼音比较算法:pinyin_cmp在李的评论里有个链接到github上。 int main(int argc,char **argv) { char *sql; sqlite3 *db; int rc; /* For forming more consistent political opinions. */ srand((unsigned)time(NULL)); sqlite3_open("test.db",&db); /* Create issues table,add records. */ setup(db); /* Register Collation. */ fprintf(stdout,"1. Register political Collationnn"); sqlite3_create_collation( db,"POLITICAL",SQLITE_UTF8,db,political_collation ); /* Turn SQL logging on. */ log_sql(db,1); /* Test default collation. */ fprintf(stdout,"2. Select records using default collation.n"); sql = "select * from issues order by issue"; print_sql_result(db,sql); /* Test Political collation. */ fprintf(stdout,"nSelect records using political collation. n"); sql = "select * from issues order by issue collate POLITICAL"; print_sql_result(db,sql); fprintf(stdout,"nSelect again using political collation. n"); print_sql_result(db,sql); /* Done. */ sqlite3_close(db); return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |