2010-08-12 5 views
4

어떻게 mysql에서 특정 문자열을 검색 할 수 있습니까? contains- 나에게 오류를 제공하려고했습니다 :mysql query - contains?

SELECT r.name 
    , r.network 
    , r.namestring 
    , i.name 
    , r.rid 
    , i.id 
    , d.dtime 
    , d.ifInOctets 
    , d.description 
FROM router AS r 
INNER JOIN interface AS i ON r.rid = i.rid 
INNER JOIN 1278993600_1_60 AS d ON i.id = d.id 
           AND d.dtime BETWEEN 1279027200 AND 1279029000 
    WHERE r.network = "ITPN" 
     AND i.status = "active" 
     AND i.description CONTAINS ' DBK' 

도와주세요.

+0

CONTAINS는 전체 텍스트 검색 (FTS) 구문이며 키워드는 SQL Server와 Oracle에서 지원됩니다 (지원 구문은 다르지만). –

답변

8

LIKE을 찾고

AND i.description LIKE '% DBK%' 
+0

정말 고마워요! – JJunior

1

사용과 같은, 즉 및 i.description LIKE '%의 DBK %의'

+0

'DBK'앞에 앞에 공백이 있어야합니다. – RedFilter

1

시도

...AND i.description like '% DBK%' 

또는

...AND upper(i.description) like '% DBK%' 

당신이 DBK 아무것도, DbK, dbk, dBk을 얻고 싶은 경우에

...

+0

내 경험에 따르면 'LIKE'는 기본적으로 대소 문자를 구분하지 않으므로 'UPPER()'가 필요하지 않습니다. – pferate

+0

@pferate : 다양합니다. 오라클의 'LIKE'는 대소 문자를 구별합니다. 내가 썼을 때 나는 기억할 수 없지만, MySQL은 기본적으로 민감하다. – FrustratedWithFormsDesigner

+0

감사합니다. 알다시피, 나는 Oracle과 함께 일하지 않았다. – pferate