SQL到HQL'以'开头'和'先通过连接'

时间:2012-09-25 18:49:02

标签: sql grails hql

我需要找到一种方法来获取以11开头的id,在sql中使用'start with'和'Connect by prior'但是在HQL中,我该怎么做??如果有更好的方式在grails中,帮助会很棒,谢谢!

(更新:对不起,我没有写下另一个命令:'先前连接')

3 个答案:

答案 0 :(得分:3)

假设ID是一个字符串,为什么不简单地使用like子句:

where id like '11%'

假设它不是字符串,您可以将其强制转换为字符串:

where cast(id as STRING) like '11%'

where str(id) like '11%'

答案 1 :(得分:0)

如果你的意思是查询id大于或等于11的记录,那么如果你有一个Books表,那么HQL就是

def books = Books.executeQuery("SELECT b from Books b WHERE id >= 11")

答案 2 :(得分:0)

递归SQL查询是非标准的,因此HQL不支持它们(尽管我发现了paper似乎建议和原型添加支持)。要做到这一点,你需要坚持使用SQL。这是一个类似的question