2012-09-21 97 views
1

我正在用照片構建數據庫。 通過使用布爾搜索,我得到正確的圖像爲使用的搜索(短語)。在布爾搜索中篩選出電子郵件地址

現在我有這個問題: 在許多描述中,人或主題的電子郵件地址被標記。像[email protected] 現在,當我想找到公司Telenet的圖像時,我得到了包含提供商電子郵件地址的所有記錄。誰對我的搜尋沒有任何不妥。

這是我搜索的例子:

SELECT ID,auteur, title, datetaken, description, 
keywords,thumbnail,URL,rel_date,showa,initialen,type 
FROM archief 
WHERE MATCH(description, keywords) AGAINST(' +telenet ' IN BOOLEAN 
MODE) AND rechten <> '0' AND showa = '1' AND type >= '2' AND rel_date 
<= '20120921' ORDER BY datetaken desc LIMIT 60' 
in 'where clause' 

我能做些什麼來過濾掉包含@符號searchphrase?

+0

爲什麼不想用'instr'函數和模式過濾掉字符串:'「@」+ company_name +'。''?你甚至可以創建列並在其上應用索引。 – ravnur

回答

1

我想你可以嘗試REGEXP操作,在你的事業會看起來像:

SELECT * 
FROM archief 
WHERE 
    description REGEXP '[^@]telenet' OR 
    keywords REGEXP '[^@]telenet' 

該查詢應選擇含telenet字符串沒有descriptionkeywords場前@所有記錄。