数据库中有一个字段,字段内容是 ...号(如 1号,3号,6号)问:
怎么样获取中间空的?如 数据库中有1号,3号,6号,那么怎么得到中间空的 如2号 和 4号 和5号?

解决方案 »

  1.   

    急求方法啊,最好是.net 代码
      

  2.   

    查找一下,看是不是存在?indexof?
      

  3.   

    没测试过,楼主先试试吧            using (SqlConnection conn = new SqlConnection("连接字符串"))
                {
                    SqlCommand cmd = new SqlCommand("select replace(列名,'号','') as col1 from 表名", conn);
                    conn.Open();
                    List<int> list = new List<int>();
                    using (SqlDataReader sdr = cmd.ExecuteReader())
                    {
                        while (sdr.Read())
                        {
                            list.Add(Convert.ToInt32(sdr["col1"]));
                        }
                    }
                    if (list.Count > 0)
                    {
                        list.Sort();
                        bool[] array = new bool[list[list.Count - 1]];
                        foreach (int i in list)
                            array[i - 1] = true;
                        Console.WriteLine("没有的号有:");
                        for (int i = 0; i < array.Length; i++)
                        {
                            if (!array[i])
                                Console.WriteLine(i + 1);
                        }
                    }            }
      

  4.   

    处理成数字数组,然后循环比较看有没有呗,最笨的办法了string str = "1号,3号,6号";
                str=str.Replace("号", "");
                int[] arr = str.Split(',').OrderBy( p=>p ).Select(p1=>int.Parse(p1)).ToArray();            List<int> result = new System.Collections.Generic.List<int>(); 
                for (int i = arr[0]; i < arr[arr.Length - 1]; i++)
                {
                    if (!arr.Contains(i))
                    {
                        result.Add(i);
                    }
                }
      

  5.   


     static void Main(string[] args)
            {
                string[] arry = { "1号", "3号", "5号", "10号","100号" };
                List<string> list = new List<string>();            int len = int.Parse(arry.Last().Substring(0, arry.Length - 2));            for (int i = 1; i < len; i++)
                {
                    if (!arry.Contains(i.ToString()+"号"))
                    {
                        list.Add(i.ToString());
                    }
                }            foreach (var item in list)
                {
                    Console.WriteLine(item);
                }
                Console.Read();
            }
    低级水平,凑合着看,
      

  6.   

    1,用SQL把数字查出来。 select replace(column,'号','') as col1 from table2,用一个数组保存这个结果3,弄一个嵌套循环,如果array[i] <>i,则取出所有 array[i]和i之间的值。