我有一个使用 SQLite 数据库浏览器创建的 SQLite 数据库。数据库包含一些土耳其语特定字母。为了按字母顺序对它们进行排序,我尝试了以下代码,但它不起作用。
我正在使用 SQLiteAssetHelper
可能出了什么问题?
public Cursor getAuthors() {
SQLiteDatabase db = getWritableDatabase();
db.setLocale(new Locale("tr","TR"));
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
String[] sqlSelect = { "_id", "name", "surname", "photoName" };
String sqlTables = "authors";
qb.setTables(sqlTables);
Cursor c = qb.query(db, sqlSelect, null, null, null, null,
"name,surname COLLATE LOCALIZED ASC");
c.moveToFirst();
return c;
}
最佳答案
"name,surname COLLATE LOCALIZED"
使用默认排序规则对 name
列进行排序,使用本地化排序规则对 surname
列进行排序。
要使用本地化排序规则对两列进行排序,您必须为两者指定排序规则:
"name COLLATE LOCALIZED, surname COLLATE LOCALIZED"
关于java - SQLite 排序 COLLATE LOCALIZED 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23442034/