次のような like ステートメントがあります。
AND ( CONCAT( arc_property_res.STREET_NUM, ' ', arc_property_res.STREET_NAME ) LIKE '%{$address}%'
NUM
とはNAME
異なる列にあります。現在、このクエリは、単一の入力フィールドがあり、次のように入力すると機能します。000 Street Dr
しかし、試してみると、000 Street Drive
結果は0になります。Rd、Blvd、Pk、およびその他のいくつかについても同じことが起こります。
ワイルドカードを 1 つだけ使用してみ%
ましたが、まだ見つかりません。どんな助けや考えも大歓迎です。
アップデート
全文検索を使用できるように、テーブルを MyISAM を使用するように変換しました。したがって、一致するすべてのクエリが機能するようになりました。つまり、Dr、Drive、Rd、Road などです。
私のクエリは次のようになります。
AND ( MATCH(arc_property_res.STREET_NUM, arc_property_res.STREET_NAME) AGAINST('{$address}')
入力したアドレスが最初に表示されない場合があります。正しいリストがそこにあることに注意してください。最初ではないだけです。
例:
何かご意見は?