我正在尝试从数据库查询数据,但我想删除特定列的最后三个字符。 SQL在SQL SERVER中很有效但是当我把它放到hibernate的语法中时,eclipse显示为标题,SQL上下文如下:
String sql = "select distinct d.code,LEFT(d.VILLAGE, (LEN(d.VILLAGE)-3)) as village_name from DistrictInfo d where d.county=:region and d.town=:town and LEN(d.VILLAGE) !=0";
Query q = session.createQuery(sql);
q.setString("region", region);
q.setString("town", town)
具体例外情况如下:
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: LEFT near line 1, column 24 [select distinct d.code,LEFT(d.VILLAGE, (LEN(d.VILLAGE)-3)) as village_name from org.nergis.orm.model.DistrictInfo d where d.county=:region and d.town=:town and LEN(d.VILLAGE) !=0]
LEFT()
会导致异常吗?我怎样才能做对吗?
答案 0 :(得分:0)
你可以使用Hibernate createSQLQuery。