2017-02-14 36 views
0

假設我有一個人名和一個社交媒體URL列表(可能包含或可能不包含部分人名)。在兩個不同列中匹配內容-MySQL

我想看看我的網址列表中是否包含全名而不是。我不認爲一個「不喜歡」會在這裏工作(因爲URL有很多其他字符來回報結果),但我想不出任何其他方式來解決這個問題。有小費嗎?我能找到的最接近的是從這個:

Matching partial words in two different columns

但我不能確定的是,這裏適用。

回答

0

只要使用SELECT * FROM yourtable WHERE url LIKE '%name%'%即表示任何字符,即使是空格。然後檢查它是否返回任何行。

從MySQL文檔:

%匹配任何數目的字符,甚至零個字符。

mysql> SELECT 'David!' LIKE 'David_'; 
-> 1 
mysql> SELECT 'David!' LIKE '%D%v%'; 
-> 1 

所以我們可以說這些都是你的網址在您的列表:
website.com/peterjohnson
website.com/jackmiller
website.com/robertjenkins

然後,如果你會做:

SELECT * FROM urls WHERE url LIKE '%peter%' 

它會返回1行。

您也可以使用NOT LIKE,這樣您將得到所有不包含名稱的行。