Select 逐行包含检查

Select row by array contains check

我有一个table喜欢

CREATE TABLE table(
    name VARCHAR(100) NOT NULL,
    array INTEGER ARRAY NOT NULL
);

例如,如果我有行

name: test, array: [1, 2, 3]
name: test2, array: [663, 332, 334]

如何select array 中包含332 的行?数组可以是任意长度,但不能为空。

不幸的是,关于 HSQLDB 数组的文档不多。我使用的是 2.5.1 版 Java JDBC。

解决了。先前的方法调用导致异常,阻止了实际异常的抛出。

SELECT * FROM table WHERE 332 IN ( UNNEST(array) )
SELECT 332 IN UNNEST([663, 332, 334]) AS contains_value;