我有一个mysql表,它有一个将xml存储为字符串的列。我需要找到xml列包含6个字符的给定字符串的所有元组。其他什么都不重要——我只需要知道这个6个字符的字符串是否存在。因此,将文本格式化为xml可能无关紧要。问:如何在mysql中搜索?ie公司 SELECT * FROM items WHERE items.xml [contains the text '123456'] 有没有办法我可以用like操作符来做这个?
SELECT * FROM items WHERE items.xml [contains the text '123456']
xienkqul1#
当您使用wordpress prepare行时,上述解决方案不起作用。这是我使用的解决方案:
$Table_Name = $wpdb->prefix.'tablename'; $SearchField = '%'. $YourVariable . '%'; $sql_query = $wpdb->prepare("SELECT * FROM $Table_Name WHERE ColumnName LIKE %s", $SearchField) ; $rows = $wpdb->get_results($sql_query, ARRAY_A);
wbrvyc0a2#
使用like可能需要较长的时间,因此请使用全文搜索:
SELECT * FROM items WHERE MATCH(items.xml) AGAINST ('your_search_word')
9jyewag03#
你可以用 LIKE 子句来进行一些简单的字符串匹配:
LIKE
SELECT * FROM items WHERE items.xml LIKE '%123456%'
如果您需要更高级的功能,请在此处查看mysql的全文搜索功能:http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html
qxgroojn4#
SELECT * FROM items WHERE `items.xml` LIKE '%123456%'
这个 % 操作员输入 LIKE 意思是“任何东西都可能在这里”。
%
0vvn1miw5#
你的意思是:
dgenwo3n6#
为什么不用like?
6条答案
按热度按时间xienkqul1#
当您使用wordpress prepare行时,上述解决方案不起作用。这是我使用的解决方案:
wbrvyc0a2#
使用like可能需要较长的时间,因此请使用全文搜索:
9jyewag03#
你可以用
LIKE
子句来进行一些简单的字符串匹配:如果您需要更高级的功能,请在此处查看mysql的全文搜索功能:http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html
qxgroojn4#
这个
%
操作员输入LIKE
意思是“任何东西都可能在这里”。0vvn1miw5#
你的意思是:
dgenwo3n6#
为什么不用like?