是否可以将字符串与数据库条目匹配并在字符串的一部分匹配时获得结果?
Posted
技术标签:
【中文标题】是否可以将字符串与数据库条目匹配并在字符串的一部分匹配时获得结果?【英文标题】:Is it possible to match string with database entry and get result where a part of string get matched? 【发布时间】:2021-07-21 13:51:42 【问题描述】:实际上我正在保存我的用户号码 i:e
+92 3123456789
在数据库中没有他们的国家代码 i:e
3123456789
但问题是用户可以在他的通讯录中保存相同的号码,但可能使用国家代码 i:e
+92 3123456789
或使用本地代码 i:e
03123456789
因此,每当我必须搜索该号码时,我都会从数据库记录中搜索 03123456789
或可能是 +92 3123456789
,该记录没有国家或本地代码,即 3123456789
。
所以,请帮助我摆脱这个问题。 谢谢。
【问题讨论】:
请帮助我尽快摆脱这个问题。我期待着收到您的来信。 如果您数据库中的所有电话号码都具有相同的长度,那么您只需从用户 (RIGHT(p_number, 10)
) 输入的号码末尾删除相同数量的数字,然后在搜索中使用它。
你做不到。如果客户存储了本地代码。对于不同的客户,此代码在每个国家/地区都可以相同。
您可能想要搜索具有格式化和提取选项的电话号码库。
【参考方案1】:
感谢所有帮助我解决这个问题的人。但是我通过运行简单的查询 which mysql function CONCAT
i:e 自己找到了解决方案
从
users
中选择 * '03123456789' LIKE CONCAT('%', phone, '%')
对于批量联系人数组搜索
从
users
中选择 * '03123456789' LIKE CONCAT('%', phone, '%') OR '+923123456789' LIKE CONCAT('%', phone, '%')
【讨论】:
以上是关于是否可以将字符串与数据库条目匹配并在字符串的一部分匹配时获得结果?的主要内容,如果未能解决你的问题,请参考以下文章
NSPredicate 匹配“NSDatabase 中的任何条目与包含字符串的值”