【发布时间】:2013-11-08 09:43:26
【问题描述】:
我想使用 JOOQ 将 Sql orderby 子句与 Case 转换。并且 BillAmount 是 BigDecimal 数据类型。
ORDER BY CASE WHEN (BillAmount <= 0)
THEN
BillAmount
ELSE
BillNumber
END
如何使用JOOQ写上面的行?
【问题讨论】:
我想使用 JOOQ 将 Sql orderby 子句与 Case 转换。并且 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))
【讨论】: