sql 语句实现电话号筛选,例如:AABB,ABAB

项目数据库为SQL Server 要求实现电话号筛选:

第一中类型: ABAB

select * from telephone where SUBSTRING(telenumber,8,2)=SUBSTRING(telenumber,10,2) and SUBSTRING(telenumber,8,1)!=SUBSTRING(telenumber,11,1);

    查询结果:

  telenumber
  ------------
 130****1212
 130****2323
 130****3434

第二种类型: AABB

select * from telephone where SUBSTRING(telenumber,8,1)=SUBSTRING(telenumber,9,1) and SUBSTRING(telenumber,10,1)=SUBSTRING(telenumber,11,1) and SUBSTRING(telenumber,8,1)!=SUBSTRING(telenumber,11,1);

   查询结果:

   telenumber
   ------------
   189****1122
   189****3344
   189****5566

 

 

第三种类型:  AAAB

select * from telephone where SUBSTRING(telenumber,8,1)=SUBSTRING(telenumber,9,1) and SUBSTRING(telenumber,9,1)=SUBSTRING(telenumber,10,1) and SUBSTRING(telenumber,8,1)!=SUBSTRING(telenumber,11,1);

    查询结果:  

  telenumber
   ------------
  130****1112
  189****2223
  189****3334

 

 

第四种类型:  ABBB

select * from telephone where SUBSTRING(telenumber,9,1)=SUBSTRING(telenumber,10,1) and SUBSTRING(telenumber,11,1)=SUBSTRING(telenumber,10,1) and SUBSTRING(telenumber,8,1)!=SUBSTRING(telenumber,11,1);

   查询结果:

   telenumber
   ------------
   189****7888
   189****6777
   189****5666

 

 

第五种类型: AAAA

select * from telephone where SUBSTRING(telenumber,8,2)=SUBSTRING(telenumber,10,2) and SUBSTRING(telenumber,8,1)=SUBSTRING(telenumber,11,1);

    查询结果:

   telenumber
   ------------
   130****1111
   130****8888
   130****9999

 

 

如果有更好的解决办法,希望你留言给个提示.谢谢

猜你喜欢

转载自xiaota.iteye.com/blog/1748238