要在PostgreSQL查询中获取单个元素,我们可以做类似的事情
SELECT pay_by_quarter[3] FROM sal_emp;
或在有条件的情况下
SELECT * FROM sal_emp WHERE pay_by_quarter[1] = 10000
如果可能的话,如何在JOOQ中实现相同的目标。
谢谢!
答案 0 :(得分:1)
有一个待处理的功能请求,允许通过jOOQ API通过索引引用数组元素:https://github.com/jOOQ/jOOQ/issues/229
解决方法是使用plain SQL templating:
public static <T> Field<T> get(Field<T[]> field, int index) {
return (Field) DSL.field(
"{0}[{1}]",
field.getDataType().getType().getComponentType(),
val(index)
);
}