s = "0,2,3,4,10";s1 = "1";想解决的问题:当 s1=1时 在 s 中查找不到

解决方案 »

  1.   

    DECLARE @s VARCHAR(1000),@sql VARCHAR(4000)
    SELECT @s='0,2,4,10',@sql='SELECT id=' + REPLACE(@s,',',' UNION SELECT ')
    SELECT @sql='SELECT TOP 1 id+1 FROM (' + @sql + ') x WHERE NOT EXISTS(SELECT 1 FROM ('+ @sql + ') y WHERE y.id=x.id+1)'
    EXEC(@sql)
      

  2.   

    用数据麻烦一点,办法还是有的.
    s = "0,2,3,4,10";s1 = "1";s = s +",";if(s.IndexOf(s1+",")>-1)
    {
     //存在
    }
      

  3.   

    用数组麻烦一点,办法还是有的.
    s = "0,2,3,4,10";s1 = "1";s = s +",";if(s.IndexOf(s1+",")>-1)
    {
     //存在
    }数组方式:    string s = "0,2,3,4,10";       string s1 = "1";
           string[] ary = s.Split(',');
           for (int i = 0; i < ary.Length; i++)
           {
               if (ary[i] == s1)
               { 
                //存在
               }
           }
      

  4.   

    给了个方法,直接调用就可以了.private bool pp()
    {
    string str1 = @"0,2,3,4,5,10";
    string str2 = @"1";
    bool bolFlg = false; string[] strArry = str1.Split(',');
    for(int i=0; i<strArry.Length; i++)
    {
    if(str2.Equals(strArry[i]))
    {
    bolFlg = true;
    break;
    }
    } return bolFlg;
    }