我有一个简单的名字表,一些以字母开头,一些以数字开头。我试图过滤掉以数字开头的名字,只选择以字母表开头的名字。
以下是我的一些尝试,但未能产生预期效果:
SELECT name
from subjects
WHERE name LIKE ('A%') AND
WHERE name LIKE ('B%') AND
WHERE name LIKE ('C%')...;
SELECT name
from subjects
WHERE name LIKE ('A%', 'B%', 'C%', ...);
SELECT name
from subjects
WHERE name LIKE ('A%') AND ('B%') AND ('C%') ...;
提前感谢您的帮助。我非常感激。 Stack Overflow一直是我的救星,因为我正在学习用PHP和MySQL编程。 洛瑞
答案 0 :(得分:1)
更简单的解决方案是使用regexp运算符,而不是传递多个like
。
尝试:
SELECT name from subjects WHERE name REGEXP '^[a-zA-Z]';
这将选择名称以小写和大写字母开头的所有记录。
答案 1 :(得分:0)
你遇到的问题是你已经包含了多个问题。只需删除它们
SELECT name
from subjects
WHERE name LIKE ('A%') AND
name LIKE ('B%') AND
name LIKE ('C%')...;
答案 2 :(得分:0)
试试Regexp:
SELECT name
FROM subjects
WHERE name
REGEXP '[A-Za-z]'