1、七位序列号中不能出现数字4
2、七位数字从右向左数,至少要出现3位一样的数字,而且一样的数字只能是6、8、9中的任意一个,如1235666。
3、七位数字可以出现全部相同的数字,如:1111111、2222222、3333333、5555555、6666666、7777777
在Oracle 10g里面,我们可以轻松实现上述要求,一条SQL语句就搞定,如下:
SELECT *
FROM a
WHERE REGEXP_LIKE (id, '[^4]{4}[6]{3,6}$')
OR REGEXP_LIKE (id, '[^4]{4}[8]{3,6}$')
OR REGEXP_LIKE (id, '[^4]{4}[9]{3,6}$')
OR REGEXP_LIKE (id, '^([0-35-9])\1{6}$');
如果能有优化意见,欢迎随时提出~