在SQL中实现关键字黑名单

时间:2009-03-18 23:43:49

标签: sql blacklist

我有一个关键字(字符串)列表,我需要在其中识别与关键字黑名单的任何匹配(单独表格中的字符串)

任何关键字/黑名单匹配都将在位字段中标记:Keyword.IsBlacklisted。

在SQL中有一种简单的方法可以实现这一点吗?

匹配可能是部分的(即blacklist ='sex'keyword ='sex toy')

解决方案 - 感谢Daniel Spiewak

 SELECT Keyword.Keyword FROM Keyword CROSS JOIN BlackList
 WHERE (Keyword.Keyword 
 LIKE { fn CONCAT({ fn CONCAT('%', BlackList.Keyword) }, '%') })

1 个答案:

答案 0 :(得分:2)

SELECT keyword FROM words JOIN blacklist 
               WHERE keyword LIKE CONCAT(CONCAT('%', word), '%')

假设这些字词位于keyword表格的words字段中,blacklist字段包含word字段中的字词。这将是有效的,但我认为从理论的角度来看,这是最好的。