如何获取字段中包含字符串的所有行(SQL)?

时间:2011-11-22 08:02:13

标签: sql regex content-management-system metadata

我有一个名为文章的表格,我想在articleTags字段中检索包含标记的所有文章。 articleTags字段包含一组逗号分隔的字符串(标记)。

如果我想从表中找到包含 php 标记的文章,它应该返回具有看起来像这样的articleTags字段的结果 -

  • PHP
  • C ++,PHP,蟒

如果我在PHP中这样做,我会简单地使用explode,但我不想遍历数据库中的每一行,而是使用更有效的方法。

3 个答案:

答案 0 :(得分:3)

你可以使用like运算符

select * from articles where tag like '%php%'

如果你担心不是php的标签,但有像php这样的php,那么你可以使用逗号

select * from articles where tag like '%php,%' or tag like '%,php%'

答案 1 :(得分:1)

匹配:

  1. PHP
  2. randomwordphp
  3. phprandomword
  4. randomphpword
  5. 查询

    SELECT *
    FROM articles
    WHERE articleTags LIKE "%php%"
    

答案 2 :(得分:1)

在Oracle中,您可以使用"Oracle text"

只需查询

等数据
select * from articles where contains(fieldName, contentText) > 0

关于Oracle文本查询,您可以阅读here