0

我想在sql server. 这是hibernate query它在我的sql. 我想运行它sql server 2005。我该怎么办?

strQuery = "from TempData where englishLex=:englishLex and category =:category and language=:language and login=:login and domain=:domain group by (concat(englishlex,category)) ";
4

3 回答 3

0

在 Sql Server 中,您没有 concat 函数,而是可以简单地使用 + 号。你试过吗?

strQuery = "from TempData where englishLex=:englishLex and category =:category and language=:language and login=:login and domain=:domain group by (englishlex + category) ";
于 2013-04-22T10:29:51.813 回答
0

concat() 是 HQL 中的有效函数。

看起来情况在导致问题的englishLex 上不正确。

尝试以下...

strQuery = "from TempData where englishLex=:englishLex and category =:category and language=:language and login=:login and domain=:domain group by (concat(englishLex,category)) ";
于 2013-04-22T10:28:38.953 回答
0

正如官方手册所说,我们可以使用||orconcat组合两个Strings。

在我的情况下,以下在 SQL Server 2012 中工作:

Query query = currentSession().createQuery("SELECT DISTINCT u FROM UserBean u WHERE CONCAT (u.name, ' ', u.surname) like :fullname");

请注意,这UserBean是 Java bean 类名,并且在 Java 代码中,必须与类名完全相同。

于 2015-10-07T11:19:39.077 回答