![]() |
1
118
|
![]() |
2
48
|
![]() |
3
13
有两种方法可以处理TSQL查询的动态csv列表: 1) 使用内部选择
|
|
4
9
不使用like,而是与函数返回的表进行内部联接:
在一个没有索引的1M记录表中,第二个版本花费了大约一半的时间。。。
|
![]() |
5
5
请注意,对于长列表或生产系统,不建议使用这种方法,因为它可能比简单的方法慢得多
|
![]() |
6
5
从SQL2017开始,您可以使用 STRING_SPLIT 这样做:
|
![]() |
7
4
|
![]() |
8
4
@LukeH稍有改进,无需重复“INSERT INTO”: 和@realPT的答案-无需选择:
|
![]() |
9
4
|
|
10
2
如果要在不使用第二个表的情况下执行此操作,可以与CAST进行类似的比较:
用逗号包围列匹配和每个唯一值将确保精确匹配。否则,将在包含',4,2,15,'的列表中找到值1 |
![]() |
11
1
正如之前没有人提到的,从SQLServer2016开始,您还可以使用json数组和
你可以试一下 sql fiddle demo Search list of values and range in SQL using WHERE IN clause with SQL variable? |
|
12
1
这一个使用PATINDEX将表中的id与非数字分隔的整数列表进行匹配。
|
|
13
0
|
![]() |
14
-1
看一看 sp_executeSQL |
|
Johnny T · 基于当前值的SQL合并表[重复] 3 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 4 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 4 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 4 月前 |
![]() |
Sax · 规范化Google表格(第一步) 4 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 4 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 4 月前 |