【问题标题】:JOOQ PostgreSQL access a single element of an arrayJOOQ PostgreSQL 访问数组的单个元素
【发布时间】:2018-07-30 14:37:08
【问题描述】:

要在 PostgreSQL 查询中获取单个元素,我们可以这样做

SELECT pay_by_quarter[3] FROM sal_emp;

或者在有条件的情况下,

SELECT * FROM sal_emp WHERE pay_by_quarter[1] = 10000

如果可能的话,我怎样才能在 JOOQ 中实现同样的目标。

谢谢!

【问题讨论】:

    标签: postgresql jooq


    【解决方案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)
        );
    }
    

    【讨论】:

      猜你喜欢
      • 2016-08-13
      • 1970-01-01
      • 1970-01-01
      • 2020-08-19
      • 2015-03-16
      • 2022-01-13
      • 1970-01-01
      • 2013-06-16
      • 1970-01-01
      相关资源
      最近更新 更多