2015-04-23 188 views
0

我有「凱文彼得」,「約翰多伊」,「邁克爾傑格」等名字值。查詢字符串搜索

我想寫一個查詢,可以通過字符串的名字或姓氏進行搜索。

例如,用「J」搜索應該產生John Doe & Michael Jag。

回答

0
SELECT * FROM users WHERE name LIKE '%J%'; 

會是你需要的。檢查類似功能 here

編輯:這顯然是錯誤的答案。

爲什麼不把它作爲「名字」和「姓氏」來存儲呢?沒有簡單的方法來確定名字是什麼。

+0

嗯,這可能會返回類似'FOOJAR BAZ',如果他只想用'J即可開始的姓或名',那麼它不起作用。 –

+0

@EricHotinger絕對正確。恐怕我的回答太快了。感謝您的注意! – vdwijngaert

+0

@EricHotinger你的理解是正確的。 –

1

可以使用LIKE關鍵字旁邊MySQL的通配符%

SELECT * FROM users WHERE name LIKE 'J%' OR name LIKE '% J%';

+0

這是假設所有名稱都以「FirstName LastName」存儲,沒有其他可能的空間。如果這對於基於數據的實現仍然太天真,我會建議在MySQL中研究RegEx - https://dev.mysql.com/doc/refman/5.1/en/regexp.html – IniTech

+0

我認爲這是一個基於標籤的MySql問題...更多相關鏈接:https://dev.mysql.com/doc/refman/5.1/en/regexp.html – javajavajava

+0

@BarbiePylon - 謝謝。我也注意到了,並更新了我的評論 – IniTech