逗号分隔的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 SqlCommand

string[] 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

回到顶部