Java 是否匹配sqllite中逗号分隔字符串的查询?
在sqlite中,从逗号分隔字符串中查找特定数字的更好方法是什么 我的数据表 ------------------------------------------------------------------------- |id | name | relations(This is String)| ------------------------------------------------------------------------- |1 | ABC | 1,2,3,4,5 | ------------------------------------------------------------------------- |2 | XYZ | 14,3,4,5 | ------------------------------------------------------------------------- 我的目标是找到包含1的关系行,并从字符串中删除此关系 但当我使用like查询时,它会返回我在java中执行的行和其他操作Java 是否匹配sqllite中逗号分隔字符串的查询?,java,android,sqlite,Java,Android,Sqlite,在sqlite中,从逗号分隔字符串中查找特定数字的更好方法是什么 我的数据表 ------------------------------------------------------------------------- |id | name | relations(This is String)| -------------------------------------------------------------
我想找到精确匹配的精确行,我知道可以使用regexp完成,我不知道如何在android的sqlite数据库中搜索regex。看到这个了吗 但您可以在返回的字符串中搜索正则表达式:
String RESULT_FROM_DB = "1111,1,3,234,1,2,4";
Pattern p = Pattern.compile("\\b1\\b");
Matcher m = p.matcher(RESULT_FROM_DB);
if(m.find()){
//Do your stuff here.
System.out.println(m.start());
System.out.println(m.end());
}
您应该将用于编译的正则表达式中的1替换为您所说的需要动态值的数字。尝试从id为1,2,3,4,5的表中选择*步骤1:执行此查询从表中选择关系\u名称步骤2:使用拆分函数分离值步骤3:执行删除查询处理此问题的最佳方法是更改数据库结构,这样您就有了第二个关系表,每行一个值。告诉您的DBA返回学校。