对于一个不明确的问题抱歉,因为我不知道如何正确询问。让我解释一下。我想在mySQL中搜索一些行。只有这种格式 - “product1”(文字和数字)。在我的桌子旁边。还有一些其他行也以“产品”开头。但他们没有数字。
这是我的桌子。
**product_db**
+----------+-------+
| key | value |
+----------+-------+
| product1 | 100 |
+----------+-------+
| product2 | 184 |
+----------+-------+
| product3 | 170 |
+----------+-------+
| productA | 210 |
+----------+-------+
| productB | 100 |
+----------+-------+
这是mySQL:
select * from product_db where key like 'product%'
运行代码后。每一行都显示出来。因为它们都以“产品”开头。 我希望只显示前面跟着数字的3行。如何在mySQL中编写命令。
答案 0 :(得分:3)
你应该使用regex:
select * from product_db where key REGEXP '^product[0-9]+$';
答案 1 :(得分:1)
SELECT 'product1' REGEXP '[product][0-9]';
+------------------------------------+
| 'product1' REGEXP '[product][0-9]' |
+------------------------------------+
| 1 |
+------------------------------------+
1 row in set (0.01 sec)
SELECT 'productA' REGEXP '[product][0-9]';
+------------------------------------+
| 'productA' REGEXP '[product][0-9]' |
+------------------------------------+
| 0 |
+------------------------------------+
1 row in set (0.00 sec)