gpt4 book ai didi

java - 如何在不使用许多语句的情况下进行 SQL 查询来测试许多通配符 id

转载 作者:行者123 更新时间:2023-11-30 04:28:23 24 4
gpt4 key购买 nike

我必须编写一个 SQL 查询来查找表中与另一个表的 ID 相似的 id。

从 TABLE_B 查询时的问题是,在 TABLE_B 中这些查询将附加一些字符串。

例如:

如果传递的ID是:123456789

然后在 TABLE_B 中它将类似于 ABC12456789XYZ

因此,为了选择这些,我想到编写一个如下所示的 SQL 查询,迭代数千个 and 子句:

String idCsList = "";
int i = 1;
for( String ids : idList ) {
if( i == 1 ) {
idCsList = idCsList + "'%" + ids + "%'" + ")";
i++;
continue;
}
idCsList = idCsList + " AND TABLE_B.id LIKE (" + "'%" + ids + "%'" + ")";
i++;
}

但是这个想法行不通,因为SQL查询的长度有限制,查询会失败。而且时间也太长了。

是否有更好的方法以性能更优化的方式使用许多通配符运算符进行查询?

最佳答案

在 SQL 中,您可以构造传递到 LIKE 中的字符串:

SELECT * 
FROM TABLE_A A INNER JOIN TABLE_B B ON A.ID = B.ID
WHERE B.ID LIKE ('%' + A.ID + '%')

关于java - 如何在不使用许多语句的情况下进行 SQL 查询来测试许多通配符 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15288068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com