2015-04-23 162 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