sql语句语句中的正则查找

举例:

select tncl_id from tncl where tncl_id regexp'^0065';

有一表,数据有10万多条,其中某列数据示例如下:

100000-200000-300001

100000-200000-300002

100000-200001-300003

100000-200001-300004

100000-200002-300005

当查询数据中含有 200001 时,

用LIKE 时sql:colName LIKE'%200001 %' ,用时4秒左右

用正则时sql:colName REGEXP '^.*200001 -.*$',用时2秒左右

用IN时sql:SUBSTRING_INDEX(SUBSTRING_INDEX(C6, '-', -2),"-",1) IN ( 107003 ),用时400ms左右

原文地址:https://www.cnblogs.com/smuxiaolei/p/7482912.html