首页 > 解决方案 > MySQL查询中的未知“喜欢”

问题描述

我的数据库:

+------------+
| Number     |
+------------+
| 8883277777 |
+------------+
| 8883555354 |
+------------+
| 8181888867 |
+------------+
| 8881143185 |
+------------+

当我们这样做时:

SELECT * FROM numbers WHERE Number LIKE "88%"

它将导致:

8883277777、8883555354、8881143185


当我们这样做时:

SELECT * FROM numbers WHERE Number LIKE "%88%"

它将导致:

8181888867


当我们这样做时:

SELECT * FROM numbers WHERE Number LIKE "%77%"

它将导致:

8883277777



获取%yyyy%的查询应该是什么?

其中 y = 任意数字 (0/1/2/3/4/5/6/8/9)。

结果将是:

8883277777, 8181888867

标签: mysqlwhere-clausesql-like

解决方案


好像您正在使用正则表达式,您可以使用以下查询:

SELECT 
    *
FROM
    numbers
WHERE
    Number REGEXP '(0{4}|1{4}|2{4}|3{4}|4{4}|5{4}|6{4}|7{4}|8{4}|9{4})'

那是你要找的吗?


推荐阅读