可用版本: Dev (3.21) | 最新 (3.20) | 3.19 | 3.18

ARRAY_OVERLAP

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

ARRAY_OVERLAP 函数允许检查两个数组是否重叠

SELECT ARRAY[1, 2] && ARRAY[3, 4]
create.select(arrayOverlap(array(1, 2), array(2, 3))).fetch();

结果如下

+---------------+
| array_overlap |
+---------------+
| true          |
+---------------+

方言支持

此示例使用 jOOQ

arrayOverlap(array(1, 2), array(2, 3))

翻译成以下特定方言的表达式

Aurora Postgres, CockroachDB, Postgres, YugabyteDB

(ARRAY[1, 2] && ARRAY[2, 3])

Databricks

arrays_overlap(
  ARRAY(1, 2),
  ARRAY(2, 3)
)

DuckDB

array_length(array_intersect(
  ARRAY[1, 2],
  ARRAY[2, 3]
)) > 0

H2

EXISTS (
  SELECT *
  FROM UNNEST(ARRAY[1, 2]) array_table (COLUMN_VALUE)
  INTERSECT
  SELECT *
  FROM UNNEST(ARRAY[2, 3]) array_table (COLUMN_VALUE)
)

HSQLDB

EXISTS (
  SELECT *
  FROM UNNEST(ARRAY[1, 2]) array_table (COLUMN_VALUE)
  INTERSECT ALL
  SELECT *
  FROM UNNEST(ARRAY[2, 3]) array_table (COLUMN_VALUE)
)

Trino

arrays_overlap(
  ARRAY[1, 2],
  ARRAY[2, 3]
)

ASE, Access, Aurora MySQL, BigQuery, ClickHouse, DB2, Derby, Exasol, Firebird, Hana, Informix, MariaDB, MemSQL, MySQL, Oracle, Redshift, SQLDataWarehouse, SQLServer, SQLite, Snowflake, Sybase, Teradata, Vertica

/* UNSUPPORTED */
使用 jOOQ 3.21 生成。早期 jOOQ 版本的支持可能有所不同。 在我们的网站上翻译您自己的 SQL

反馈

您对此页面有任何反馈吗? 我们很乐意听取您的意见!

The jOOQ Logo