You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用SQL的LIKE运算符检索姓氏第3位及之后含'r'的员工数据

解决MySQL中检索姓氏第3位及之后含'r'的员工数据问题

你的语句SELECT * FROM employees WHERE last_name LIKE "__r%"的问题在于,__r%仅匹配**前两位任意字符、第三位固定为'r'**的姓氏,无法覆盖'r'出现在第4位及之后的情况。

要实现需求,有两种简单的写法:

方法1:调整LIKE匹配模式

直接修改通配符组合,确保'r'可以出现在第3位及之后的任意位置:

SELECT * FROM employees WHERE last_name LIKE '__%r%';
  • __:匹配姓氏的前两个任意字符
  • %r%:匹配包含'r'的任意后续字符序列,这样不管'r'在第3位还是更靠后的位置,都会被命中。

方法2:使用SUBSTRING函数(更直观)

通过提取姓氏从第3位开始的子串,再判断该子串是否包含'r':

SELECT * FROM employees WHERE SUBSTRING(last_name, 3) LIKE '%r%';

这种写法逻辑更清晰,直接针对"第3位及之后的内容"做匹配,适合初学者理解。

注意:两种写法都会自动过滤掉长度不足3位的姓氏(因为这类姓氏不存在第3位及之后的字符,自然不会包含'r')。

内容的提问来源于stack exchange,提问作者gosiia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 04:02:52