0

我有一个带有名称的简单表格,有些以字母开头,有些以数字开头。我正在尝试过滤掉以数字开头的名称,并且只选择以字母开头的名称。

以下是我的一些尝试,但未能产生预期的结果:

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 进行编程。萝莉

4

3 回答 3

1

一个更简单的解决方案是使用正则表达式运算符而不是传递多个likes。

尝试:

SELECT name from subjects WHERE name REGEXP '^[a-zA-Z]';

这将选择名称以小写和大写字母开头的所有记录。

于 2013-08-31T17:36:21.597 回答
0

您遇到的问题是您包含多个位置。只需删除它们

SELECT name 
  from subjects 
 WHERE name LIKE ('A%') AND 
 name LIKE ('B%') AND 
 name LIKE ('C%')...;
于 2013-08-31T17:37:10.273 回答
0

尝试正则表达式:

SELECT name 
FROM subjects 
WHERE name
REGEXP '[A-Za-z]'
于 2013-08-31T17:38:53.487 回答