2010-08-12 131 views
4

我如何搜索mysql中的特定字符串? 我試過使用包含 - 給我錯誤:mysql查詢 - 包含?

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都支持關鍵字(儘管支持的語法不同)。 – 2010-08-12 15:40:27

回答

8

嘗試

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

非常感謝你! – JJunior 2010-08-12 15:57:49

1

使用像,IE和i.description LIKE '%DBK%'

+0

請注意'DBK'之前應該有一個前導空格。 – RedFilter 2010-08-12 14:44:52

1

嘗試

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

或者

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

如果你想獲得與DBK什麼,DbKdbkdBk,...

+0

根據我的經驗,'LIKE'默認情況下不區分大小寫,所以不需要'UPPER()'。 – pferate 2010-08-12 15:47:49

+0

@pferate:它有所不同。 Oracle的'LIKE'區分大小寫。當時我記不起來了,但MySQL的默認情況下是*敏感的(只是查了一下)。 – FrustratedWithFormsDesigner 2010-08-12 16:09:45

+0

謝謝。很高興知道,我沒有與Oracle合作過。 – pferate 2010-08-12 18:17:36