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

如何在MySQL中使用LIKE子句查询匹配的员工grade等级数据

你当前的写法存在语法错误:LIKE 关键字不支持直接传入多个值列表匹配,你写的WHERE GRADE like ("L0007", "L0008", "L0009")无法正常执行,以下是对应场景的解决方案:

场景1:需要精准匹配固定的几个grade值

不需要用LIKE,直接用IN运算符即可在单条语句内实现需求:

SELECT DISTINCT DESIG_NAME 
FROM employees 
WHERE GRADE IN ('L0007', 'L0008', 'L0009');

场景2:需要模糊匹配多个规则的grade值(适配level7、level8这类格式需求)

有两种常用实现方式:

方式1:多LIKE条件拼接

用OR连接多个LIKE模糊匹配规则,例如匹配所有grade末尾为7、8、9的记录:

SELECT DISTINCT DESIG_NAME 
FROM employees 
WHERE GRADE LIKE '%7'
   OR GRADE LIKE '%8'
   OR GRADE LIKE '%9';

你可以根据实际的匹配规则调整通配符位置:

  • % 代表匹配任意长度的任意字符
  • _ 代表匹配1个任意字符
    比如要匹配L开头、总长度5位、末尾为7的grade,可以写LIKE 'L___7'(3个下划线对应中间3位任意字符)。

方式2:使用正则匹配(写法更简洁)

用MySQL内置的REGEXP运算符实现多规则模糊匹配,例如匹配所有grade末尾为7、8、9的记录:

SELECT DISTINCT DESIG_NAME 
FROM employees 
WHERE GRADE REGEXP '[789]$';

语句中[789]代表匹配7、8、9中的任意一个字符,$代表匹配字符串末尾,刚好适配level7、level8这类末尾为等级数字的格式。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:45:02