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

SQL问题:如何筛选students表中首字母为A-M范围的学生?

解决姓名首字母A-M范围筛选无结果的问题

首先,[A-M]%这种通配符写法仅适用于SQL Server、Access等数据库,如果你用的是MySQL、PostgreSQL等,LIKE语法不支持这种字符范围匹配,这就是你没得到结果的核心原因。以下分数据库给出正确写法:

1. MySQL/MariaDB场景

用REGEXP或RLIKE实现正则匹配:

SELECT * FROM student WHERE student_first_name REGEXP '^[A-Ma-m]';

或者用字符串比较逻辑(区分大小写):

SELECT * FROM student WHERE student_first_name >= 'A' AND student_first_name < 'N';

需忽略大小写的话,可统一转换为小写后判断:

SELECT * FROM student WHERE LOWER(student_first_name) >= 'a' AND LOWER(student_first_name) < 'n';

2. SQL Server/Access场景

检查是否存在大小写不匹配问题,比如姓名首字母是小写,可调整匹配规则:

SELECT * FROM student WHERE student_first_name LIKE '[A-Ma-m]%';

或者统一转换为大写后匹配:

SELECT * FROM student WHERE UPPER(student_first_name) LIKE '[A-M]%';

3. PostgreSQL场景

用~操作符执行正则匹配:

SELECT * FROM student WHERE student_first_name ~ '^[A-Ma-m]';

或者用ILIKE实现忽略大小写的范围匹配:

SELECT * FROM student WHERE student_first_name ILIKE '[A-M]%';

额外提醒:你问题里提到的是students表,但SQL语句里写的是student,请确认表名是否完全一致,这也可能导致查询无结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 15:42:03