検索クエリに問題があります。私のデータには、さまざまな形式のアポストロフィを持つ名前と情報が含まれています(HTMLエンコードと実際)。 だから例えば私はこれに代わるたい:これは一例でSQLでオプションの特殊文字と一致するものを検索する方法は?
SELECT * FROM Customers WHERE REPLACE(LastName,'''','')
LIKE Replace('O''Brien,'''','')
を、私が欲しいのは、誰かがタイプオブライエンやオブライエン、これはまだ動作するかどうか、私は3を交換する必要がある方法です。キャラクターとデータのバージョンはフィードであり、変更することはできません。この種の検索が機能するためには、クエリに対して何ができるのですか?
私は現在、多くのネストされた置換機能を持っているこの方法で動作する名前を持つ項目を持っており、この方法で動作する何かを見つけることができないようであり、より効率的です。
私はASPでMS SQL 2000を使用しています。
編集
ここオブライエンやオブライエンと一致する必要がクエリで、このクエリは、これを行いますが、あまりにも非効率的である - それは、アイテムの名前と姓(オプション)のために、別のことで接合され、マッチングのために。
SELECT * FROM Customers
WHERE
REPLACE(REPLACE(REPLACE(LastName,''',''),''',''),'''','')
LIKE
REPLACE(REPLACE(REPLACE('%O'Brien%',''',''),''',''),'''','')
なぜ実際の*文字ではなく、データベースにHTMLエンティティを格納していますか? – Tomalak
HTMLエンティティにはデータソースが付属しています。これは、この方法でデータを格納する外部ソースからのものです。実際の文字に置き換えることができます - 複数の置換の必要性を解決する可能性があります – RoguePlanetoid
データベースにHTMLはありません。厄介な頭痛の種類だけでなく、この1つ。あなたが何かできることがあれば、データを保存する前にHTMLエンティティをデータから正規化してください。 – Tomalak