如何在 Android 应用程序的 SQLite 中创建排序规则?

Posted

技术标签:

【中文标题】如何在 Android 应用程序的 SQLite 中创建排序规则?【英文标题】:How to create a collation in SQLite in an Android app? 【发布时间】:2016-07-08 22:33:13 【问题描述】:

我正在尝试在我的 android 应用中模拟以下语句:

db collate """ [list string compare -nocase]

do_execsql_test 6.5 
  PRAGMA foreign_keys = ON;
  CREATE TABLE p1(a PRIMARY KEY COLLATE '"""');
  CREATE TABLE c1(x, y REFERENCES p1);
 

参考 SQLite 代码库中的提交:https://www.sqlite.org/src/info/eddc05e7bb31fae7

我不确定如何创建上面代码中提到的名为“””的排序规则。甚至可以在 Android 应用中执行吗?

相关问题:Android: Custom collation in SQLite

【问题讨论】:

嘿,你做到了吗? 【参考方案1】:

Android SQLite Java API 不公开functions for creating collation sequences。要在 Android 应用中执行此操作,您必须使用 NDK 和 sqlite C 库。

(我不确定您通过在应用程序中运行 sqlite 库内部测试真正想要实现什么。)

【讨论】:

您能建议我如何在 NDK 中创建上述特定排序规则吗?我有一个奇怪的要求来做同样的事情(db collat​​e """ [list string compare -nocase])。我不太清楚“list string compare -nocase”在 SQLite 中的含义排序规则。是不是表示在比较列中的数据时,应该忽略大小写?

以上是关于如何在 Android 应用程序的 SQLite 中创建排序规则?的主要内容,如果未能解决你的问题,请参考以下文章

如何在android应用程序中嵌入sqlite数据库文件

如何在 Android 应用程序的 SQLite 中创建排序规则?

如何在 Android 应用程序中执行 SQLite 查询?

如何在android中使用sqlite连接表

如何在android中创建SQLite数据库

如何在json android中返回多行并将其传递给sqlite