通过MySQL中的regexp提取5个数字中的前3个

时间:2012-03-09 20:48:09

标签: mysql regex

我有以下数据集:

  

781901 - 录像带编辑

     

78102 - 景观设计师

我希望能够检查781901中的匹配781,而不是78102中的 781

如何使用regexp执行此操作。

我尝试过这个查询,但不会产生结果。

从siccodes中选择不同的sic,其中sic regexp'^ 781';

插入符号在行的开头匹配,现在我只需要忽略5个字符的代码,只匹配6个字符的代码。

3 个答案:

答案 0 :(得分:3)

最简单和最清楚的可能是:

select distinct sic from siccodes where sic regexp '^781[0-9][0-9][0-9]';

答案 1 :(得分:0)

如果是整数列,您也可以使用

SELECT DISTINCT sic FROM siccodes WHERE sid BETWEEN 781000 AND 781999;

这应该比正则表达式更快。<​​/ p>

答案 2 :(得分:0)

请检查一下,它会让你飞到正则表达式。

Regular Expressions - Quick Reference Guid