2012-03-05 13 views
3

私はちょうどそれを取得する唯一の方法は、列のうちの1つを介してである...私のMYSQL DBにMySQL - 部分文字列を見つける - フルテキスト?

を不正なデータの束を見つけた - FILE_PATHファイルパスのスラッシュ取り除いたバージョンが含まれています。 DatasetGroupedByFormatsx-fmtを-398Thumbs:

F

:彼らはすべてのファイル名「のThumbs.db」を持っているが、彼らはパス

の多様性を持っている

例 - 私が見つける必要がある。このセットでは、いくつかの不正なファイルがあります。デシベル

私は、フィールド上のフルテキストインデックスを持っている、しかし、次のクエリは、任意のリターンを与えるものではありません:

SELECT * FROM main_small WHERE MATCH `FILE_PATH` AGAINST ('Thumbs.db') 

応答:

MySQL returned an empty result set (i.e. zero rows). (Query took 0.0382 sec) 

文法が間違っているか、または空白/句読点でテキスト文字列を分離する必要があるかどうかは分かりません。

+0

あなたは(「『のThumbs.db』」)(二重引用符で年フレーズを囲み)を使用している場合あなたのフルテキストクエリがうまくいくかもしれないが、これはまた、「親指のDB」が見つかります(なしを。) – Andrew

答えて

8

確かにそれはしかし

select * from main_small where FILE_PATH like '%Thumbs.db' 

だ、そうでない場合は、その後MySql Full text Search助けていますか?

+0

確かに確かに。ありがとう。ワイルドカードがフルテキストマッチングで動作するかどうかはわかりませんでした。それは本当に知っておくと便利です。感謝します。 – Jay

2

だけLIKEを使用します。

SELECT * FROM main_small WHERE `FILE_PATH` LIKE '%Thumbs.db' 
+0

ありがとう、これはもちろん正しいです。私は%がそれのように使用できることを認識しませんでした。 – Jay

2

問題は、クエリが「のThumbs.db」は単語全体で考えていることです。これらの行を選択するには、ワイルドカード検索を行う方法を見つける必要があります。どの程度:

SELECT * FROM main_small WHERE `FILE_PATH` LIKE '%Thumbs.db' 
+0

ありがとう - これは正しい - 私は今日何か新しいことを学んだ。 – Jay

関連する問題