例如我想查询字段中带有115数字的列,却想排除1115或者11555555这种,mysql支持这种查询吗?
回复内容: 请问大家mysql查寻如何可以通过正则来查询一个特定的数字啊?
例如我想查询字段中带有115数字的列,却想排除1115或者11555555这种,mysql支持这种查询吗?
对比着mysql手册写了一下, 写的很丑, 没办法, 没找到\d, (|[^0-9x])也给我报错, 唉. mysql5.5.24
mysql> select '115' regexp '^115$|^115[^0-9x]|[^0-9x]115$|[^0-9x]115[^0-9x]' result;+--------+| result |+--------+| 1 |+--------+1 row in set (0.00 sec)mysql> select '1150' regexp '^115$|^115[^0-9x]|[^0-9x]115$|[^0-9x]115[^0-9x]' result;+--------+| result |+--------+| 0 |+--------+1 row in set (0.00 sec)mysql> select '11150' regexp '^115$|^115[^0-9x]|[^0-9x]115$|[^0-9x]115[^0-9x]' result;+--------+| result |+--------+| 0 |+--------+1 row in set (0.00 sec)mysql> select 'a115a' regexp '^115$|^115[^0-9x]|[^0-9x]115$|[^0-9x]115[^0-9x]' result;+--------+| result |+--------+| 1 |+--------+1 row in set (0.00 sec)
不支持,效率太低,需要自己处理。
支持,不过效率不高。
select mm,mm regexp '.星号[^1]115[^5].星号$' from test.a;