我希望将oracle存储过程重写为java代码,选择查询字符串中具有串联值的数据,以比较以下方式:
Query qString =
"SELECT Obj " +
"FROM MyTable Obj2 WHERE ( Obj2.value1 || Obj2.value2 ) in " +
"(SELECT Obj2.value1 || MAX(Obj2.value2) FROM MyTable Obj2 WHERE Obj2.value2 >= :param GROUP BY Obj2.value1) " +
"ORDER BY Obj.value2, Obj.value1";
query = entityManager.createQuery(qString);
query.setParameter("param ", param );当我在weblogic服务器上以When服务的形式运行查询时,出现了错误,其中的字符是‘AC.26’。为了得到相同的结果,我可以用什么来代替吗?
发布于 2013-10-31 09:54:37
语言提供了塞纳特()函数,因此您应该能够将Obj2.value1 || Obj2.value2编写为CONCAT(Obj2.value1, Obj2.value2)
https://stackoverflow.com/questions/19703000
复制相似问题