我想使用Sql将Case转换为JOOQ orderby子句,而BillAmount的数据类型为BigDecimal

 ORDER BY CASE WHEN (BillAmount <= 0)
THEN
 BillAmount
ELSE
 BillNumber
END


如何使用JOOQ编写以上行?

最佳答案

最好的选择是使用CASE expression (as documented in the manual)将SQL子句直接转换为相应的jOOQ子句

.orderBy(DSL.decode().when(BillAmount.le(0), BillAmount)
                     .otherwise(BillNumber))

关于java - 如何将带有Case语句的Sql order by子句转换为JOOQ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19654784/

10-10 03:55