我需要在 JPQL (2.0) 中形成一个查询来选择最大值(等级)。
我用:SELECT max(rank) FROM test
这很好用,除了表为空的情况,结果是null
,但我需要0
.
如果我能够用一个简单的 if 语句“捕捉”空值,这将没有问题,但我不能这样做(框架只允许指定 JPA 查询,但不允许指定 java 代码)。
如果表为空,是否有人知道如何调整该查询以获取一个0
而不是一个?null
- 数据库是 MySQL,不能选择原生查询或存储过程。
也许:
SELECT COALESCE(MAX(rank), 0) FROM test
编辑
COALESCE
JPQL(JPA 2.0)似乎支持:http: //java.sun.com/developer/technicalArticles/JavaEE/JavaEE6Overview_Part3.html