我想过滤我的SQL查询的结果。我想选择某些列中包含特定文本的所有内容。MySQL - 过滤结果
例子:
SELECT * FROM类别WHERE (名称 有 'ABC' 值在它的值ex MyabcCategory)
而且也许不是很好的主意在查询中这样做,也许最好是全部获取,然后过滤数组呢?但我不知道该怎么做。
我想过滤我的SQL查询的结果。我想选择某些列中包含特定文本的所有内容。MySQL - 过滤结果
例子:
SELECT * FROM类别WHERE (名称 有 'ABC' 值在它的值ex MyabcCategory)
而且也许不是很好的主意在查询中这样做,也许最好是全部获取,然后过滤数组呢?但我不知道该怎么做。
使用LIKE
与%
通配符:
SELECT * FROM categories WHERE name LIKE '%abc%'
这会给你所有拥有abc
在他们的地方记录。
SELECT * FROM categories WHERE name LIKE '%abc%'
您要使用的LIKE
operator,与%
您的特定词之前和之后的任何字符匹配:
select *
from categories
where name like '%abc%';
但要注意,这样做,MySQL会扫描每次执行查询时表格的每一行......如果您有大量数据,这可能不是很好。
如果你正在寻找一些类型的文本,你可能要么需要:
FULLTEXT
index,如果你使用MyISAM表的工作。
想念你的男人:) – Sarfraz 2011-02-25 17:04:45
谢谢:-)过去几个月,我没有去过很多地方;太多事情不能做......不确定我会留下来,但是,今天我有点时间,错过了过去的日子^^ – 2011-02-25 17:06:19
我们错过了一大堆知识,尤其是在PHP标记中。我希望你有一天能管理它的时间:)谢谢 – Sarfraz 2011-02-25 17:10:31