如题,user表,SQL语句如下:
select * from user where user.`name` LIKE '%Tina Rodriguez%';
返回结果:
按我理解和网上查阅的资料,LIKE '%Tina Rodriguez%'
应该匹配所有含有Tina Rodriguez
的字段,但是红框的字段只含有Rodriguez,并没有Tina,为什么也能匹配到?如果是模糊匹配,那模糊的这个度是如何规定的?匹配的百分比是多少呢?
如题,user表,SQL语句如下:
select * from user where user.`name` LIKE '%Tina Rodriguez%';
返回结果:
按我理解和网上查阅的资料,LIKE '%Tina Rodriguez%'
应该匹配所有含有Tina Rodriguez
的字段,但是红框的字段只含有Rodriguez,并没有Tina,为什么也能匹配到?如果是模糊匹配,那模糊的这个度是如何规定的?匹配的百分比是多少呢?
除了使用NAME LIKE '%Tina Rodriguez%'
来进行全量模糊查询以外,mysql更推荐使用INSTR(NAME,'Tina Rodriguez') > 0
来进行模糊查询,效率会更高。
3 回答1.6k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
Like是
不区分大小写
的,红框里的也包含了tina Rodriguez。可以改成 like 'Tina Rodriguez%'