zoukankan      html  css  js  c++  java
  • 对号码进行分类的触发器

       在项目中用到的对号码的类别进行识别,如:AAAA,ABAB等待。
       保留以备后用。
    SET QUOTED_IDENTIFIER OFF 
    GO
    SET ANSI_NULLS ON 
    GO

    CREATE TRIGGER [testTrigger] ON [dbo].[Phone] 
    FOR INSERTUPDATE
    AS
    declare     @Level2 char(10),
        
    @Level3 char(10),
        
    @phone char(11),
        
    @first             char(1),
             
    @second       char(1),
             
    @third            char(1),
             
    @last              char(1)

    select @phone=phonenum from inserted
    select @first = substring(@phone,8,1)
    select @second = substring(@phone,9,1)
    select @third = substring(@phone,10,1)
    select @last = substring(@phone,11,1)




                
    -- 普号无4
                if (charindex('4'@phone )=0)
                
    begin
                    
    set @Level2='普号'
                    
    set @Level3='无4'
                
    end
                           
    --差号含4
                if (charindex('4'@phone)!=0)
                
    begin
                    
    set @Level2='差号'
                    
    set @Level3='号码含4'
                
    end

            
    --差号尾数含4
                if (charindex('4'substring(@phone,8,5) )!=0)
                
    begin
                    
    set @Level2='差号'
                    
    set @Level3='尾数含4'
                
    end
                
    --134
                if (substring(@phone,0,4="134")
                
    begin
                    
    set @Level2='差号'
                    
    set @Level3='134号段'
                
    end




                    
                
    --ABAB
                if (@first=@third and @second=@last and @first<>@second )
                
    begin
                    
    set @Level2='特号'
                    
    set @Level3='ABAB'
                
    end
        
                                    
    --AABB
                if (  @first=@second and @third=@last and @first<>@third )
                
    begin
                    
    set @Level2='特号'
                    
    set @Level3='AABB'
                
    end


                
    --ABC
                if (  convert(int,@last)=convert(int,@third)+1 and convert(int,@third)=convert(int,@second)+1  and  charindex('4',@phone)=0)
                    
    begin
                        
    set @Level2='优选号码'
                        
    set @Level3='ABC'
                    
    end
                

                
    --ABCD
                if ( convert(int,@last)=convert(int,@third)+1 and convert(int,@third)=convert(int,@second)+1 and convert(int,@second)=convert(int,@first)+1 )
                
    begin
                    
    set @Level2='特号'
                    
    set @Level3='ABCD'
                
    end
                
                

                
    --AAAB
                if (@first=@second and @second=@third and @third<>@last and  charindex('4',@phone)=0)
                
    begin
                    
    set @Level2='优选号码'
                    
    set @Level3='AAAB'
                
    end

                
    --ABBA
                if (@first=@last and @second=@third and @first<>@second and  charindex('4',@phone)=0)
                
    begin
                    
    set @Level2='优选号码'
                    
    set @Level3='ABBA'
                
    end


                
    --AA
                if (@third=@last and  charindex('4',@phone)=0)
                    
    begin
                        
    set @Level2='优选号码'
                        
    set @Level3='AA'
                    
    end
                
                
    --AAA
                    if (@second=@third and @third=@last)
                    
    begin
                        
    set @Level2='特号'
                        
    set @Level3='AAA'
                    
    end

                
    --AAAA
                if (@first=@second and @second=@third and @third=@last)
                
    begin
                    
    set @Level2='特号'
                    
    set @Level3='AAAA'
                
    end
                






    update phone set phone.hlr=PhoneNumLevel1.hlr,level1=ModelNum,level2=@level2,level3=@level3 
    from PhoneNumLevel1 INNER JOIN phone on 
     
    right(NumRange,7)=left(phonenum,7)  where phonenum=@phone

    GO
    SET QUOTED_IDENTIFIER OFF 
    GO
    SET ANSI_NULLS ON 
    GO

  • 相关阅读:
    CSplitterWnd 成员介绍及切分条的定制
    时空数据挖掘 Mining Complex SpatioTemporal Sequence Patterns
    动态布局切分窗口
    不管你现在多穷多蠢,只要抓住一个上升的载体你就能变成富人
    破解了小区宽带的限制
    VC6.0的若干实用小技巧
    恶搞程序发布(更新版本)
    WPF笔记
    做多维数据集需要注意的两个细节
    关于值类型和引用类型的备忘
  • 原文地址:https://www.cnblogs.com/madgoat/p/755744.html
Copyright © 2011-2022 走看看