2

我正在尝试在 Jooq 中实现类似于下面的 MySql 查询:

Select 
 CASE WHEN (datecolumn IS NULL) 
 THEN (@outerval:=@outerval+1) 
 ELSE (@outerval) END AS consec_set
From some_table;

我们如何在 JOOQ 中拥有 @variable ?

注意:我知道 JOOQ 中 CASE WHEN 的等价物,但只想知道@variable。

Jooq 版本:3.0.1

4

1 回答 1

0

jOOQ 3.0 目前不支持此功能。我已经为此注册了一个功能请求: https ://github.com/jOOQ/jOOQ/issues/2558

我不确定有多少对变量的支持可以真正以有用的方式添加到 jOOQ 中。但无论如何,您总是可以使用纯 SQL:

Field<Integer> f1 = DSL.field("@outerval:=@outerval+1", Integer.class);
Field<Integer> f2 = DSL.field("@outerval", Integer.class);
于 2013-06-26T11:38:54.180 回答