java - 如何将带有 Case 语句的 Sql orderby 子句转换为 JOOQ?

标签 java sql jooq

我想使用 JOOQSql 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))

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

相关文章:

java - 更改 JFrame 中的方向

java - 在 Android 中结束线程的正确方法

java - 打印日历

sql - 如何在Oracle Sql Developer中过滤列

java - 用于获取 Java 进程的线程转储的 Shell 脚本

c# - 在数据库中将空文本框插入为 NULL

sql - 检查plsql中的变量是否为空

postgresql - 如何在 jooq 中使用插入...返回语句作为 "table-like"查询?

java - 具有窗口函数的 Sql 到 JOOQ

java - 我可以使用 JOOQ 对查询运行 "explain analyze"吗?