2012-09-21 4 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를 필터링하기 위해 무엇을 할 수 있는가? description 또는 keywords 분야에서 @을 이전하지 않고 telenet 문자열을 포함하는 모든 레코드를 선택해야합니다

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

이 쿼리 :

+0

왜'instr' 함수와 패턴을 사용하여 문자열을 걸러 내고 싶지 않습니다 :''@ "+ company_name + '.''? 열을 만들고 인덱스를 적용 할 수도 있습니다. – ravnur

답변

1

나는 당신의 원인에이 같이 보일 것입니다, 당신은 REGEXP 연산자를 시도 할 수 있다고 생각합니다.

관련 문제