我有一个简单的任务,需要搜索以字符串字符开头并在其后只有一个数字的记录。我的尝试如下所示:
SELECT trecord FROM `tbl` WHERE (trecord LIKE 'ALA[d]%')
而且
SELECT trecord FROM `tbl` WHERE (trecord LIKE 'ALA[0-9]%')
但是这两个查询总是返回一个null
记录。
trecord
-------
null
然而,如果我执行以下查询
SELECT trecord FROM `tbl` WHERE (trecord LIKE 'ALA%')
它返回
trecord
-------
ALA0000
ALA0001
ALA0002
这意味着我有以ALA和一个数字开头的记录,
编辑
我正在使用PHP MySQL和InnoDB引擎来实现。
LIKE
不支持正则表达式。仅支持通配符%
和_
(至少在标准 SQL 和 MySQL 中)。 - user330315