SQL запрос для извлечения данных из столбца, который имеет тип данных массива в postgresql таблице базы данных - PullRequest
1 голос
/ 22 апреля 2020

Я создал таблицу со следующим 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 для выполнения всех операций запроса.

1 Ответ

0 голосов
/ 22 апреля 2020

jOOQ не поддерживает слишком много спецификаций поставщика c из коробки. В большинстве случаев вы должны расширить jOOQ, используя plain SQL templating . В этом случае:

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