一尘不染

SQL中的正则表达式以检测一位或多位数字

sql

我有以下查询:

SELECT * 
FROM  `shop` 
WHERE  `name` LIKE  '%[0-9]+ store%'

我想匹配表示的字符串'129387 store',但是上述正则表达式不起作用。这是为什么?


阅读 206

收藏
2021-05-23

共1个答案

一尘不染

使用REGEXP
运算符,而不是 LIKE 运算符

试试这个:

SELECT '129387 store' REGEXP '^[0-9]* store$';

SELECT * FROM shop WHERE `name` REGEXP '^[0-9]+ store$';

检查 SQL FIDDLE DEMO

输出

|         NAME |
|--------------|
| 129387 store |
2021-05-23