mysql中like的匹配异常?

如题,user表,SQL语句如下:

select * from user where user.`name` LIKE '%Tina Rodriguez%';

返回结果:

按我理解和网上查阅的资料,LIKE '%Tina Rodriguez%' 应该匹配所有含有Tina Rodriguez的字段,但是红框的字段只含有Rodriguez,并没有Tina,为什么也能匹配到?如果是模糊匹配,那模糊的这个度是如何规定的?匹配的百分比是多少呢?

阅读 2.7k
2 个回答

Like是不区分大小写的,红框里的也包含了tina Rodriguez。可以改成 like 'Tina Rodriguez%'

除了使用NAME LIKE '%Tina Rodriguez%' 来进行全量模糊查询以外,mysql更推荐使用INSTR(NAME,'Tina Rodriguez') > 0来进行模糊查询,效率会更高。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏