110,549
社区成员
发帖
与我相关
我的任务
分享
string a = "'1','2','3','4','5','6','7','8'……";//字符串的长度是变化的
with t as (
select '1' as sfz from dual union all
select '2' from dual union all
select '3' from dual union all
........
select '8' from dual
)
string str = "'1','2','3','4','5','6','7','8'";
var array = str.Split(',').Select(x => string.Format("select {0}", x)).ToArray();
string sql = string.Format("with t as ( {0} as sfz from dual union all {1} from dual)",array[0],string.Join(" from dual union all ", array, 1, array.Length - 1));
string a = "'1','2','3','4','5','6','7','8'";
StringBuilder sb = new StringBuilder();
sb.Append(@" with t as (");
foreach (var item in a.Split(','))
{
sb.Append(@"select "+item+" from dual union all ");
}
sb.Append(")");
Response.Write(sb.ToString());
输出:
with t as (select '1' from dual union all select '2' from dual union all select '3' from dual union all select '4' from dual union all select '5' from dual union all select '6' from dual union all select '7' from dual union all select '8' from dual union all )
string str = "'1','2','3','4','5','6','7','8'";
string a = string.Join(" from dual union all ", str.Split(',').Select(x => string.Format("select {0}", x)));
string sql = "with t as ( " + a + ")";
这种把~~string[] items= a.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
然后stringbuilder拼接就好了