【发布时间】:2017-08-30 13:53:25
【问题描述】:
有一个列名为“phone”的表格,有不同格式的不同号码。
例子:
id | number
1 | 03439879098
2 | 01109890032
3 | +91 932 3233237
现在如果我想搜索“3233237”,那么查询将是:
select * from table where number like '%3233237%';
结果将是:
id | number
3 | +91 932 3233237
但在我的情况下,我想要相反
String search = "+92 343 9879098"
select * from table where number like search
结果应该是:
id | number
1 | 03439879098
因为列number和搜索字符串有一个共同的字符串,即9879098。
查询的设计方式应使其查找搜索字符串和列值具有公共子字符串的记录
请给我一些想法。
【问题讨论】:
-
空格呢?数字的哪些部分应该匹配,哪些可以不同?您要求找到有点相似的值,但定义不明确。
-
只需从搜索中删除“+92”
String -
什么是“名字”?
-
数字“98790985”呢,它包含字符串的一部分。它应该匹配吗?还是只是最后一个数字?请编辑您的问题。
标签: sql sqlite android-sqlite