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数据库表中具有数组数据类型的列中获取数据。的主要内容,如果未能解决你的问题,请参考以下文章
从 MySQL 迁移到 PostgreSQL 后类似查询的 SQL 性能问题