MySQ: IF () функция в JOOQ - PullRequest
       22

MySQ: IF () функция в JOOQ

1 голос
/ 14 июля 2020

Я вижу, что JOOQ не поддерживает функцию MySQL IF, но я нахожу iif() в DSL.java, это SQL стиль Sever, я использовал его в MySQL, он работает хорошо, поэтому может Я использую iff () в моем запросе MySQL? Это мой тестовый код

dslContext.select(EMPLOYEE.EMPLOYEE_ID,
                DSL.iif(EMPLOYEE.ALGO.eq(1), EMPLOYEE.FULLNAME, EMPLOYEE.ACCOUNT).as("fullname"))
                .from(EMPLOYEE)
                .where(EMPLOYEE.EMPLOYEE_ID.eq(100)).fetchOneInto(Employee.class);

1 Ответ

1 голос
/ 15 июля 2020

jOOQ 3.14 добавит встроенную поддержку MySQL s IF() через # 10160 . Это не совсем необходимая функция, это просто удобство по сравнению с написанием эквивалентного CASE выражения:

-- MySQL
IF (C, A, B)

-- Standard SQL
CASE WHEN C THEN A ELSE B END

Если вы предпочитаете IF(), вы всегда можете написать свое собственное plain SQL шаблон даже до jOOQ 3.14

...