2014-10-30 241 views
1

我需要一个MySQL查询的帮助。我无法找到针对特定查询的解决方案。我甚至不确定,如果LIKE操作符是我正在寻找的。mySQL喜欢,但不喜欢

什么我想才达到的,发现containig网址都行,如果该URL不FOO.COM

我想这行:

Lorem存有悲坐阿梅德example.com consectetuer vitae ut a lobortis metus。

Lorem ipsum dolor example.com sit amet consectetuer foo.com vitae ut a lobortis metus。

,但我不想这样行:

Lorem存有悲坐阿梅德consectetuer foo.com简历UT斯达康一个lobortis metus。

Lorem ipsum dolor sit amet consectetuer vitae ut a lobortis metus。

查询这样不会工作..

WHERE str like '%.com%' 

WHERE (str LIKE '%.com%') && (str NOT LIKE '%foo.com%') 

任何帮助,将不胜感激。

+0

是否只想抓取“example.com”字符串?或其他'.com'也不是“foo.com”? – Nakul91 2014-10-30 09:04:56

+1

将'foo.com'替换为空格,然后像'%.com%'。 – 2014-10-30 09:05:46

+0

这是一种黑名单检查,如果有人在我们的PM中宣传其他网站。我想要返回所有包含url地址的行,但不包括那些,只包含我们的url – 2014-10-30 09:09:31

回答

3

将'foo.com`替换为空格,然后像'%.com%'。

REPLACE(str , 'foo.com', ' ') like '%.com%' 
+0

这个看起来很有前途,生病了试试看。谢谢 – 2014-10-30 09:10:54

+0

按预期工作,谢谢。 – 2014-10-30 09:36:42