如何获取包含字段中的字符串的所有行(SQL)?
问题描述:
我有一张名为articles的表格,我想要检索articleTags
字段中包含标签的所有文章。 articleTags
字段包含一组逗号分隔的字符串(标记)。如何获取包含字段中的字符串的所有行(SQL)?
如果我试图找到其中包含从表中它应该返回的结果有一个articleTags场,看起来像这样的标签PHP的一篇文章 -
- PHP
- C++,PHP, python
如果我在PHP中这样做,我会简单地使用爆炸,但我不想穿过数据库中的每一行,而是使用更有效的方法。
答
你可以使用类似操作
select * from articles where tag like '%php%'
如果你担心这是不是PHP,但有PHP在他们喜欢说phphp那么你可以用逗号使用
select * from articles where tag like '%php,%' or tag like '%,php%'
答
它匹配:
- PHP
- randomwordphp
- phprandomword
- randomphpword
查询
SELECT *
FROM articles
WHERE articleTags LIKE "%php%"
答
在Oracle中,你可以使用"Oracle text"标签
,简单的查询数据,如
select * from articles where contains(fieldName, contentText) > 0
关于Oracle文本查询您可以阅读here
不使用Oracle,但感谢反正 – liamzebedee