我必须编写一个 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查询的长度有限制,查询会失败。也需要很长时间。
有没有更好的方法以更优化的方式使用许多通配符运算符进行查询?