-1

我想选择所有行,其中一个在数字列中包含 1234(数字),但包括以“-”或“()”结尾的数字,不包括 12345 和 12-345。

numbers.
 --------------
| id | number  |
 --------------
| 1  | 1234    |
| 2  | 12-24   |
| 3  | 12(34)  |
| 4  | 1-2--34 |
| 5  | 12345   |
| 6  | 12-345  |
 -------------- 

感谢您的线索和想法。

4

1 回答 1

0

MySQL 对正则表达式的支持非常有限,但这应该返回正确的结果:

SELECT *
FROM   numbers
WHERE  number REGEXP "^(1|2|3|4|-|[[.left-parenthesis.]]|[[.right-parenthesis.]])*$"

请参阅此处以获取有关正则表达式的参考,并在此处查看示例

于 2013-11-14T18:36:48.647 回答