【问题标题】:SQL query to fetch the data from the column which has array datatype in postgresql database tableSQL查询从postgresql数据库表中具有数组数据类型的列中获取数据
【发布时间】:2020-04-23 02:53:17
【问题描述】:

我在数据库中创建了一个带有以下 sql 查询的表。

CREATE TABLE Employees (
   id int PRIMARY KEY,
   name VARCHAR (100),
   contact TEXT []
);

现在我用一些值填充它。

INSERT INTO Employees 
VALUES
   (
      1,
      'Alice John',
      ARRAY [ '132','567' ]
   );

现在我的问题是如何使用 java 编写查询来检索 联系人为“567”的员工记录?

注意:我使用 jooq 和 postgresql 数据库来执行所有查询操作。

【问题讨论】:

标签: java postgresql jooq


【解决方案1】:

jOOQ 不支持太多开箱即用的供应商特定操作。在大多数情况下,您应该使用plain SQL templating 扩展jOOQ。在这种情况下:

ctx.selectFrom(EMPLOYEES)
   .where("{0} @> ARRAY[{1}]", EMPLOYEES.CONTACT, val("567"))
   .fetch();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    • 2021-10-07
    相关资源
    最近更新 更多