您的位置:首页 > 数据库 > Oracle

解决Oracle in 超过1000个问题 C#拼接字符串

2014-10-29 10:18 761 查看
 private string getOracleSQLIn(string[] ids, string field)

        {

            int count = Math.Min(ids.Length, 1000);

            int len = ids.Length;

            int size = len % count;

            if (size == 0)

            {

                size = len / count;

            }

            else

            {

                size = (len / count) + 1;

            }

            StringBuilder builder = new StringBuilder();

            for (int i = 0; i < size; i++)

            {

                int fromIndex = i * count;

                int toIndex = Math.Min(fromIndex + count, len);

                string productId = string.Join("','", getArrayValues(fromIndex, toIndex, ids).ToArray());

                if (i != 0)

                {

                    builder.Append(" or ");

                }

                builder.Append(field).Append(" in ('").Append(productId).Append("')");

            }

            return builder.ToString();

        }

        public List<string> getArrayValues(int fromindex, int toindex, string[] array)

        {

            List<string> listret = new List<string>();

            for (int i = fromindex; i < toindex; i++)

            {

                listret.Add(array[i]);

            }

            return listret;

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: