2010-07-15 3 views
0

У меня есть таблица ключевых слов, и я хочу проверить ключевое слово String или нет.Как реализовать функцию «содержит» в Mysql4.x?

String str="aaabbbccc"; 

TableName:keywordTable 
field:id keyword 
------------------- 
1 ee 
2 bbb 
3 xx 
.. 
------------------ 

я запустить этот SQL (в версии 4.1):

select * from `keywordTable` where contains(`keyword`,"aaabbbccc"); 

возвращает ошибку синтаксиса

, как это осуществить? (В MySQL 4.1 и 4.0)

спасибо :)

ответ

3
select * 
from `keywordtable` 
where 'aaabbbcccc' like CONCAT('%',`keyword`,'%') 
+0

+1, сделал мой ответ излишним –

0
select * 
from `keywordtable` 
where `keyword` like '%aaabbbcccc%' 

единственная проблема в том, что он ищет не чувствительны к регистру, поэтому AAAAAABBBCCCCCCCCDDD также будет соответствовать

редактировать. я неправильно читаю, ты хочешь соответствовать наоборот. сделать это вместо того, чтобы:

select * 
from `keywordtable` 
where 'aaabbbcccc' like '%'+`keyword`+'%' 

MySQL понимает like в обратном порядке

+0

ключевого слова == 'аа' строки == 'aaabbbccc' выберите * из 'keywordtable' где' ключевого слова 'like '% aaabbbccc%'? Я думаю, это не так. – Koerr