2012-03-05 77 views
3

我剛剛發現了一堆我的MySQL數據庫流氓數據...MySQL - 查找部分字符串 - 全文?

得到它是通過一個列的唯一方式 - FILE_PATH包含剝離文件路徑的版本斜線。還有在這個集合了幾個流氓文件,我需要找到 - 它們都具有文件名「Thumbs.db」這個,但他們有各種各樣的路徑

例如:

F:DatasetGroupedByFormatsx-FMT-398Thumbs。 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’這個」)(用雙引號括年短語)你的全文查詢可能會奏效,但這也將找到「拇指分貝」(無)。 – Andrew 2012-03-05 21:11:23

回答

8

當然這是

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

但是,如果沒有,那麼確實MySql Full text Search幫助?

+0

的確如此。謝謝。我不知道通配符在全文匹配上的作用。知道這非常有用。欣賞它。 – Jay 2012-03-05 21:04:30

2

只需使用LIKE

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

謝謝,這當然是對的。我沒有意識到%可以這樣使用。 – Jay 2012-03-05 21:05:13

2

的問題是,您認爲查詢 '的Thumbs.db' 是一個全字。您需要找到某種方法來執行通配符搜索以選擇這些行。如何:

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

謝謝 - 這是正確的 - 今天我學到了一些新東西。 – Jay 2012-03-05 21:06:03