SQL查询从postgresql数据库表中具有数组数据类型的列中获取数据。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL查询从postgresql数据库表中具有数组数据类型的列中获取数据。相关的知识,希望对你有一定的参考价值。

我在数据库中创建了一个带有以下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数据库来执行所有的查询操作。

答案

jOOQ并不支持太多特定供应商的操作。在大多数情况下,你需要使用以下方法来扩展jOOQ。纯SQL模板化. 在这种情况下:

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

以上是关于SQL查询从postgresql数据库表中具有数组数据类型的列中获取数据。的主要内容,如果未能解决你的问题,请参考以下文章