我想选择数字列中包含1234(数字)的所有行, 但包括“ - ”或“()”结尾的数字,不包括12345和12-345。
numbers.
--------------
| id | number |
--------------
| 1 | 1234 |
| 2 | 12-24 |
| 3 | 12(34) |
| 4 | 1-2--34 |
| 5 | 12345 |
| 6 | 12-345 |
--------------
感谢您提供线索和想法。
答案 0 :(得分:0)
MySQL对正则表达式的支持非常有限,但这应该返回正确的结果:
SELECT *
FROM numbers
WHERE number REGEXP "^(1|2|3|4|-|[[.left-parenthesis.]]|[[.right-parenthesis.]])*$"
请在此处查看reference about regexps,此处查看example。