検索クエリに問題があります。使用しているデータには、さまざまな形式 (HTML エンコードおよび実際の形式) のアポストロフィを含む名前と情報が含まれています。したがって、たとえば、これに代わるものが必要です。
SELECT * FROM Customers WHERE REPLACE(LastName,'''','')
LIKE Replace('O''Brien,'''','')
これは単なる例です。私が望むのは、誰かが OBrien または O'Brien と入力した場合でも機能する方法です。3 つのバージョンのキャラクターを置き換える必要があり、データはフィード ソースであり、変更できません。この種の検索が機能するようにクエリに追加します。
現在、多くのネストされた REPLACE 関数があり、この方法で機能するものを見つけることができないように見える、この方法で機能する名前の項目があります。これはより効率的です。
それが役立つ場合、私は ASP で MS SQL 2000 を使用しています。
編集
これは、O'Brien または OBrien と一致する必要があるクエリです。このクエリはこれを実行しますが、あまりにも非効率的です。一致させるために、アイテム名と FirstName (オプション) のために別のクエリと結合されます。
SELECT * FROM Customers
WHERE
REPLACE(REPLACE(REPLACE(LastName,''',''),''',''),'''','')
LIKE
REPLACE(REPLACE(REPLACE('%O'Brien%',''',''),''',''),'''','')