Win*_*-10 5 sql t-sql sql-server sql-server-2005
我有这个字符串,我从.net应用程序A,B,C,D,E,F,
我想编写一个像sql select语句一样的
set @string = 'A,B,C,D,E,F'
select * from tbl_test
where tbl_test.code in (@string)
Run Code Online (Sandbox Code Playgroud)
这在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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5841 次 |
| 最近记录: |