0

这些是我的表的列:

contact_id, contact_number

我有一个号码要在该表中搜索contactInfo

我的表中有此类条目

contact_id    contact_number
1             1234567890
2             2345678901

并且numberToSearch可以是任何这样的格式+911234567890或简单地1234567890

我正在使用这个查询

Select * from contactInfo where contact_number like numberToSearch;

当两者contact_number和相同时,此查询可以正常工作numberToSearch。但是当numberToSearch大于时contact_number它找不到数字。

请建议我该怎么做才能匹配这种模式?的最后一位numberToFind必须与 匹配contact_number

4

2 回答 2

2

由于numberToSearch是包含联系电话作为子字符串的数字的更长版本,我认为您希望您的搜索条件是相反的:

Select * from contactInfo where numberToSearch like '%'+contact_number+'%';

此 SQL Server 版本。在 Oracle 或 MySQL 中使用CONCAT('%', contact_number, '%')

于 2012-04-27T02:11:54.240 回答
0

您必须搜索数字中的数字才能搜索字符串,然后您必须编写如下查询

Select * from contactInfo where contact_number like '%numberToSearch%';
于 2012-04-27T04:04:09.773 回答