mysql - SQL中的正则表达式检测一个或多个数字

标签 mysql sql regex select sql-like

我有以下查询:

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

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

最佳答案

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

试试这个:

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

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

检查 SQL FIDDLE DEMO

输出

|         NAME |
|--------------|
| 129387 store |

关于mysql - SQL中的正则表达式检测一个或多个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20794860/

相关文章:

php - 合并 2 个 SQL 表中条目的总数

sql - SELECT after CREATE TABLE AS 需要很长时间才能运行

javascript - 确定字符串/url 是否属于特定域

asp.net - 解析接受头

php - 使用 PHP 将 CSV 文件数据插入和更新到 MySQL 表中

mysql - node-mysql2 和准备好的语句

javascript - 从外部 json 代码将数据添加到 amcharts 图表

php - 如何优化跨 2 个 MySQL 表的值搜索?

sql - 如何在DB2中执行复合sql

java - 如何按点或冒号前面的每个空格进行分割?