2014-10-30 155 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