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

OVERLAY (二进制)

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

OVERLAY() 函数接受一个二进制字符串,并将其“覆盖在另一个二进制字符串之上”。

SELECT overlay(cast('abcdefg' as bytea), cast('xxx' as bytea), 2);
create.select(binaryOverlay(val("abcdefg".getBytes()), "xxx".getBytes(), 2)).fetch();

结果是

+---------+
| overlay |
+---------+
| axxxefg |
+---------+
有关此函数的文本版本,请参阅 OVERLAY

方言支持

此示例使用 jOOQ

binaryOverlay(val("abcdefg".getBytes()), "xxx".getBytes(), 2)

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

Aurora Postgres, Postgres, YugabyteDB

overlay(CAST(E'\\141\\142\\143\\144\\145\\146\\147' AS bytea) PLACING CAST(E'\\170\\170\\170' AS bytea) FROM 2)

CockroachDB

((substring(
  CAST(E'\\141\\142\\143\\144\\145\\146\\147' AS bytea),
  1,
  (2 - 1)
) || CAST(E'\\170\\170\\170' AS bytea)) || substring(
  CAST(E'\\141\\142\\143\\144\\145\\146\\147' AS bytea),
  (2 + length(CAST(E'\\170\\170\\170' AS bytea)))
))

Databricks

overlay(X'61626364656667' PLACING X'787878' FROM 2)

Redshift

((substring(
  from_hex('61626364656667'),
  1,
  (2 - 1)
) || from_hex('787878')) || substring(
  from_hex('61626364656667'),
  (2 + length(from_hex('787878')))
))

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

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

引用此页

反馈

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

The jOOQ Logo