我想知道我是否可以在查询中添加一些内容来搜索字符串中的单词。例如,如果我有一个名为user_purchased的字段,我想查询它并仅提取字符串中存在单词'dog'的记录。
我知道我可以使用像这样的
这样做(!stristr($row['user_purchased'], 'dog'))
但是,我想知道我是否可以在查询本身中执行此操作,而这可能会加快性能。
提前感谢您的帮助
答案 0 :(得分:1)
答案 1 :(得分:0)
在MySql中,您可以使用INSTR(str,substr)
在http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_instr
的MySql手册中引用INSTR(str,substr)
Returns the position of the first occurrence of substring substr in string str. This is the same as the two-argument form of LOCATE(), except that the order of the arguments is reversed.
mysql> SELECT INSTR('foobarbar', 'bar');
-> 4
mysql> SELECT INSTR('xbar', 'foobar');
-> 0
This function is multi-byte safe, and is case sensitive only if at least one argument is a binary string.
答案 2 :(得分:0)
SELECT * FROM table WHERE user_purchased LIKE'%dog%';