【发布时间】:2014-08-15 15:16:32
【问题描述】:
我需要在 SQL 语句中使用 IN 子句。 我在一个表中有 Int(11) 类型的数据。
并且 Y 有一个来自另一个表的字符串作为条件。
例如,在表 A 中,我的值为 3,类型为 Int。 在表/进程 B 中,我有字符串“0123”。
我需要查询表 A 以满足此条件: Select * from Table A where attrib_1 IN (0,1,2,3)
因为记录 n 的值为 3,所以应该返回它。
所以我尝试使用.setParameterList,像这样:
List<BloqueCruzamiento> bloques = session.createQuery("FROM BloqueCruzamiento AS b WHERE b.anio=:anio AND b.activo=true AND b.grupo=:categoria AND b.pr IN(:pr_set)ORDER BY b.nroParcela, b.cruza, b.pedigree")
.setParameter("anio", grupo.getAnio())
.setParameter("categoria", grupo.getCategoria())
.setParameterList("pr_set", pr_parm)
.list();
quid 在“pr_set”参数上。 我想知道如何将 String "0123" 转换为整数集合 (0,1,2,3)。
所以我可以将此参数传递给 setParameterList() 方法。
我现在的一种方法是将字符串转换为字符数组,然后循环,并将每个元素转换为整数数组。
有人可以提供另一种解决方案吗?
问候
【问题讨论】: