2011-11-22 37 views
0

我有一張名爲articles的表格,我想要檢索articleTags字段中包含標籤的所有文章。 articleTags字段包含一組逗號分隔的字符串(標記)。如何獲取包含字段中的字符串的所有行(SQL)?

如果我試圖找到其中包含從表中它應該返回的結果有一個articleTags場,看起來像這樣的標籤PHP的一篇文章 -

  • PHP
  • C++,PHP, python

如果我在PHP中這樣做,我會簡單地使用爆炸,但我不想穿過數據庫中的每一行,而是使用更有效的方法。

回答

3

你可以使用類似操作

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

如果你擔心這是不是PHP,但有PHP在他們喜歡說phphp那麼你可以用逗號使用

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

它匹配:

  1. PHP
  2. randomwordphp
  3. phprandomword
  4. randomphpword

查詢

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

在Oracle中,你可以使用"Oracle text"標籤

,簡單的查詢數據,如

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

關於Oracle文本查詢您可以閱讀here

+0

不使用Oracle,但感謝反正 – liamzebedee

相關問題