use*_*154 61 mysql search sql-like
我有一个mysql表,其中有一个列将xml存储为字符串.我需要找到xml列包含6个字符的给定字符串的所有元组.没有其他事情 - 我需要知道的是这个6字符串是否存在.
因此,将文本格式化为xml可能无关紧要.
问题:如何在mysql中搜索?即
SELECT * FROM items WHERE items.xml [contains the text '123456']
有没有办法可以使用LIKE运算符来执行此操作?
Mik*_*icz 99
您可以使用该LIKE
子句进行一些简单的字符串匹配:
SELECT * FROM items WHERE items.xml LIKE '%123456%'
Run Code Online (Sandbox Code Playgroud)
如果您需要更多高级功能,请在此处查看MySQL的全文搜索功能: http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html
小智 11
使用like可能需要更长的时间,因此请使用full_text_search:
SELECT * FROM items WHERE MATCH(items.xml) AGAINST ('your_search_word')
Run Code Online (Sandbox Code Playgroud)
SELECT * FROM items WHERE `items.xml` LIKE '%123456%'
Run Code Online (Sandbox Code Playgroud)
将%
在运营商LIKE
的意思是"什么都可以在这里".
为什么不使用 LIKE?
SELECT * FROM items WHERE items.xml LIKE '%123456%'
Run Code Online (Sandbox Code Playgroud)