我需要从字符的开头搜索名字或姓氏。例如,名字是Michael,姓氏是Jordan。 如果我搜索“dan”或“hae”字样,则不应返回结果。只有当我搜索“mic”或“jor”时,它才应该将firstname和lastname一起返回。 有没有办法用mysql做到这一点?
我的以下代码没有返回我期望的内容。
select * from users where (firstname like '%$searchWord%' or lastname like '%$searchWord%')
答案 0 :(得分:1)
如果您只想从单词的开头搜索,则只需在条件结束时放置通配符:
SELECT * FROM `users` WHERE (`firstname` LIKE '$searchWord%' OR `lastname` LIKE '$searchWord%')
答案 1 :(得分:0)
删除查询中每个字词的第一个%。
select * from users where (firstname like '$searchWord%' or lastname like '$searchWord%')
这将首先搜索与之匹配的任何内容的第一个字母。