我有一个字段Code,字符型,格式如下:
101 
101.101 
101.102 
102.102.101
当我输入1(1级的)就找出:101
........2.......:101.101和101.102
........3.......:102.102.101
请问Where语句好怎么写:

解决方案 »

  1.   

    找.个数参考:
    --有一個字符串,"ABCDABCABDEAB'
    --如何提取字符串AB在字符串 "ABCDABCABDEAB'中出现的次数1.
    Declare @S Varchar(100)
    Select @S='ABDEABDEADADAB'
    Select (Len(@S)-Len(Replace(@S,'AB','')))/Len('AB') 
    2.
    Declare @s varchar(10),@text Varchar(100),@i int,@count int
    Select @s='AB',@text='ABDEABDEADADAB',@count=0
    set @i=charindex(@s,@text,1)
    while @i>0
    begin
    set @i=@i+1
    set @i=charindex(@s,@text,@i)
    set @count=@count+1
    end
    select @count
      

  2.   

    create table test(code varchar(50))
    insert test select '101'
    insert test select '101.101'
    insert test select '101.102' 
    insert test select '102.102.101'
    select * from test-- 写成存储过程
    Select * from test
    where (Len(code)-Len(Replace(code,'.','')))+1=2drop table test
      

  3.   

    Select * from test
    where (Len(code)-Len(Replace(code,'.','')))+1=2---------
    这个方法好,
    ls的战神玩的不怎么样,SQL 到是蛮有思路