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
反馈
您对此页面有任何反馈吗? 我们很乐意听取您的意见!