SQL字符串比较

时间:2012-04-27 02:07:47

标签: sql

这些是我的表格栏目:

contact_id, contact_number

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

我的表格中有这种类型的条目

contact_id    contact_number
1             1234567890
2             2345678901

numberToSearch可以采用任何此类格式+9112345678901234567890

我正在使用此查询

Select * from contactInfo where contact_number like numberToSearch;

contact_numbernumberToSearch相同时,此查询可以正常运行。 但是当numberToSearch大于contact_number时,它找不到数字。

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

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

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

之类的查询
Select * from contactInfo where contact_number like '%numberToSearch%';