在MySQL的文本列中searchstring

我有一个列,存储为一个string的xml的MySQL表。 我需要findxml列包含给定的6个字符的string的所有元组。 没有别的事情 – 我需要知道的是,如果这6个字符的string是否存在。

所以这可能没有关系,文本被格式化为XML。

问题:如何在mysql中search? 即SELECT * FROM items WHERE items.xml [contains the text '123456']

有没有办法可以使用LIKE操作符来做到这一点?

你可以使用LIKE子句来做一些简单的string匹配:

 SELECT * FROM items WHERE items.xml LIKE '%123456%' 

如果您需要更高级的function,请查看MySQL的全文searchfunction: http : //dev.mysql.com/doc/refman/5.1/en/fulltext-search.html

使用像可能需要更长的时间,所以使用full_text_search

 Select * from items where match(items.xml) against ('your_search_word') 
 SELECT * FROM items WHERE `items.xml` LIKE '%123456%' 

LIKE%运算符表示“任何东西都可以在这里”。

为什么不使用LIKE?

 SELECT * FROM items WHERE items.xml LIKE '%123456%' 

你意思是:

 SELECT * FROM items WHERE items.xml LIKE '%123456%'