Как преобразовать предложение Sql orderby с оператором Case в JOOQ?

Я хочу преобразовать предложение orderby Sql с помощью Case, используя JOOQ. И BillAmount имеет тип данных BigDecimal.

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

Как написать указанную выше строку, используя JOOQ?


person psisodia    schedule 29.10.2013    source источник


Ответы (1)


Лучший вариант — напрямую преобразовать предложение SQL в соответствующее предложение jOOQ, используя CASE выражение (как описано в руководстве)

.orderBy(DSL.decode().when(BillAmount.le(0), BillAmount)
                     .otherwise(BillNumber))
person Lukas Eder    schedule 29.10.2013