0

これらは私のテーブルの列です:

contact_id, contact_number

そのテーブルで検索する番号が 1 つあります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 に答える