Заявление CASE в jooq?

Я новичок в jooq. Поэтому я хочу написать этот запрос ниже в jooq.

"CASE len(CAST(SUBSTRING(attachedblob, 1, 1) AS varchar(1))) when 1 then 'true' else 'false' end  ReviewExistance "

Можете ли вы сказать мне, пожалуйста.

Спасибо


person user3062776    schedule 16.04.2014    source источник
comment
Где ты застрял? что ты уже испробовал?   -  person Lukas Eder    schedule 16.04.2014


Ответы (1)


Для полноты картины вот как ваше выражение SQL можно преобразовать в jOOQ:

// Assuming a static import:
import static org.jooq.impl.DSL.*;
import static org.jooq.impl.SQLDataTypes.*;

decode().value(
       length(
           cast(
               substring(MY_TABLE.ATTACHEDBLOB, 1, 1),
               VARCHAR.length(1)
           )
       )
   )
   .when(1, "true")
   .otherwise("false")
   .as("ReviewExistance");

Если это слишком неприятно, вы всегда можете прибегнуть к простому SQL. Примеры приведены здесь:

person Lukas Eder    schedule 26.04.2014
comment
Привет, как создать selectQuery.addSelect(Routines.fGetdocketeventpeopledetail(Folder.FOLDER.FOLDER_RSN, 2, 2).as(Party2)); функция. потому что в нашем случае этот параметр функции сначала одно поле, а затем два значения int, как создать эту функцию в jooq - person Himanshu; 12.05.2014
comment
@Himanshu: Не могли бы вы задать новый вопрос о переполнении стека? Будет сложно ответить в комментариях на несвязанный вопрос... - person Lukas Eder; 12.05.2014