SQLite确实支持正则表达式WHERE opp_Business_id REGEXP "\b" || 4 || "\b";-否则你需要匹配所有可能的组合。当它失败2/3的示例记录时,你的模式不匹配应该是显而易见的; WHERE (opp_Business_id == '4' OR opp_Business_id LIKE '%,4' OR opp_Business_id LIKE '4,%' OR opp_Business_id LIKE '%,4,%');将与LIKE进行四次比较-而REGEXP只有一次比较。
2条答案
按热度按时间px9o7tmv1#
SQLite确实支持正则表达式
WHERE opp_Business_id REGEXP "\b" || 4 || "\b";
-否则你需要匹配所有可能的组合。当它失败2/3的示例记录时,你的模式不匹配应该是显而易见的;WHERE (opp_Business_id == '4' OR opp_Business_id LIKE '%,4' OR opp_Business_id LIKE '4,%' OR opp_Business_id LIKE '%,4,%');
将与LIKE
进行四次比较-而REGEXP
只有一次比较。2uluyalo2#
这个问题是关于Android平台的,
Android's Sqlite
不支持REGEXP
关键字。你必须这样写你的查询[为了更好地理解,我使用了Room语法]:字符串