小编典典

如何在MySQL查询中进行正则表达式

mysql

我有一个简单的任务,我需要搜索一个以字符串字符和其后的一位数字开头的记录。我正在尝试的是

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引擎来实现它。


阅读 273

收藏
2020-05-17

共1个答案

小编典典

我认为您可以使用REGEXP代替LIKE

SELECT trecord FROM `tbl` WHERE (trecord REGEXP '^ALA[0-9]')
2020-05-17