使用姓氏和名字搜索全名列

时间:2016-04-05 12:09:24

标签: mysql

我想要实现的是在数据库中搜索一个只有一个带有名字和姓氏的字符串的全名。

在数据库中有全名:

Manuel Augusto Vieira Conde Fialho

我想要一个只能使用名字和姓氏搜索这个全名的SQL查询:

Manuel Fialho

我试过这个:

SELECT name FROM partners WHERE name LIKE 'Manuel Fialho'";

但这对我不起作用,因为我在数据库中只有Manuel Fialho Manuel Augusto Vieira Conde Fialho只有extension SequenceType where Generator.Element == Rect { func intersection() -> Rect? { ... } } // when using let intersection = [rect1, rect2, rect3].intersection() ,因此我想要的名字不显示。

谢谢

5 个答案:

答案 0 :(得分:1)

你要添加%:

def foo(x, y):
    tfidf = vectorizer.fit_transform([x, y])
    return ((tfidf * tfidf.T).A)[0,1]

my_funcs = {}
for i in range(len(data) - 1):
    x = data[i]['body']
    y = data[i+1]['body']
    foo.func_name = "cosine_sim%d" % i
    my_funcs["cosine_sim%d" % i] = foo
    print(foo(x,y))

答案 1 :(得分:1)

一种方法使用通配符:

SELECT name
FROM partners
WHERE name LIKE REPLACE('Manuel Fialho', ' ', '%');

答案 2 :(得分:0)

SELECT name FROM partners WHERE name LIKE "Manuel%" OR name LIKE "%Fialho";

如果您确定姓名的姓氏,那么您也可以使用AND

 SELECT name FROM partners WHERE name LIKE "Manuel%" AND name LIKE "%Fialho";

答案 3 :(得分:0)

有两种可能的搜索选项。

将搜索字符串拆分为多个单词,并使用多个LIKE模式进行查询。

select name FROM partners WHERE name LIKE '%Manuel%' or name like '%Fialho%'

如果您确定搜索字符串中的单词序列与列值中的单词序列匹配,则replace所有空格都带有%符号,并与LIKE一起使用。

select name FROM partners
 WHERE name LIKE concat( '%', replace( 'Manuel Fialho', ' ', '%' ), '%' )

答案 4 :(得分:-1)

尝试以下查询:

工作正常..!

SELECT * FROM `partners` WHERE 
`name` LIKE replace( 'Manuel Fialho', ' ', '%' ) OR
`name` LIKE replace('%Manuel Fialho%', ' ', '%' ) OR
`name` LIKE replace('%Manuel Fialho', ' ', '' ) OR
`name` LIKE replace('%Manuel Fialho%', ' ', '' );