sql - 逗号分隔的 SQL 字符串 需要分隔

标签 sql sql-server sql-server-2005 tsql

我有从 .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)

这在 t-SQL 中不起作用,因为它使用 @string 作为一个字符串,它没有分隔值。有什么办法可以做到这一点吗?

最佳答案

3个选项

  1. 使用正则表达式将“,”替换为“','”,使其成为正确的('A','B'...)列表
  2. 将列表转换为 XML,然后在 SELECT 中解析 XML
  3. Write a SPLIT function将逗号分隔列表转换为表格

关于sql - 逗号分隔的 SQL 字符串 需要分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2312581/

相关文章:

sql - 使用SELECT执行INSERT以插入多个记录

javascript - 将页面上的文本更改为多个下拉列表中的 SQL 结果

sql-server - 禁用 TSQL 脚本检查?

sql - 消息 102,级别 15,状态 1,第 3 行 ',' 附近的语法不正确

sql - 在 SQL 中使用危险的 IN 子句

mysql - sql列格式化

mysql - 使用引用原始表的子查询删除

sql-server - 用降序值替换 SQL Server 中的 XML 元素

sql - 需要 SQL 帮助 - 如何选择行来执行插入?

sql - 如何截断和收缩日志文件?