逗号分隔的SQL字符串需要分隔
我有从.net应用程序A,B,C,D,E,F获取的字符串,
我想写一个SQL选择语句像
set @string = 'A,B,C,D,E,F'select * from tbl_test
where tbl_test.code in (@string)
这在t-SQL中将不起作用,因为它使用@string
不将值分开的一个字符串。有什么办法可以做到这一点?
回答:
它认为最简单的方法是动态SQL生成:
// assuming select is a SqlCommandstring[] values = "A,B,C,D,E,F".Split(',');
StringBuilder query = new StringBuilder();
query.Append("select * from tbl_test where tbl_test.code in (");
int i = 0;
foreach (string value in values) {
string paramName = "@p" + i++;
query.Append(paramName);
select.Parameters.AddWithValue(paramName, value);
}
query.Append(")");
select.CommandText = query.ToString();
// and then execute the select Command
以上是 逗号分隔的SQL字符串需要分隔 的全部内容, 来源链接: utcz.com/qa/403818.html