2016-04-05 1 views
1

の完全名の列で検索します。達成したいのは、姓と名義の文字列のみでデータベース内の完全な名前を検索することです。データベース内姓と姓が

は完全な名前があります:

Manuel Augusto Vieira Conde Fialho 

と私は最初と最後の名前で、この完全な名前を検索することができ、SQLクエリたい:私が試した

Manuel Fialho 

をこの1:

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

が、私はどのManuel Fialhoを持っていないので、これは私のために動作しません。データベースはManuel Augusto Vieira Conde Fialhoとなっています。そのため、探している名前は表示されません。

+0

あなたは私の質問をお試しいただけますか?それは私のためにうまく動作します。 –

答えて

-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%', ' ', ''); 
+0

これは私にとってうまくいきました。どうもありがとうございました –

1

あなたは%が追加shoouldありがとう:あなたが名前の姓についての確実な場合

SELECT name FROM partners WHERE name LIKE 'Manuel%Fialho'; 
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"; 
1

ワンメソッドはワイルドカードを使用します:

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

2つの検索オプションがあります。

検索文字列を複数の単語に分割し、その数が多い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', ' ', '%'), '%') 
関連する問題