我需要在JPQL(2.0)中形成一个查询来选择最大值(排名)。
我使用:SELECT max(rank) FROM test
这种方法很好,除了表是空的情况,结果是null
,但我需要0
。
如果我能用一个简单的if语句“捕获”null,那就没问题了,但是我不能这样做(框架只允许指定一个JPA查询但没有java代码) 的
如果表格为空,是否有人知道如何调整该查询以获得0
而不是null
? - 数据库是MySQL,本机查询或存储过程是不可选的。
答案 0 :(得分:8)
也许:
SELECT COALESCE(MAX(rank), 0) FROM test
修改强>
JPQL(JPA 2.0)似乎支持 COALESCE
:http://java.sun.com/developer/technicalArticles/JavaEE/JavaEE6Overview_Part3.html