請問大家mysql查尋如何可以通過正則來查詢一個特定的數字啊?
例如我想查詢欄位中帶有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;